~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/include/mshtml.idl

Version: ~ [ wine-1.5.31 ] ~ [ wine-1.5.30 ] ~ [ wine-1.5.29 ] ~ [ wine-1.5.28 ] ~ [ wine-1.5.27 ] ~ [ wine-1.5.26 ] ~ [ wine-1.5.25 ] ~ [ wine-1.5.24 ] ~ [ wine-1.5.23 ] ~ [ wine-1.5.22 ] ~ [ wine-1.5.21 ] ~ [ wine-1.5.20 ] ~ [ wine-1.5.19 ] ~ [ wine-1.5.18 ] ~ [ wine-1.5.17 ] ~ [ wine-1.5.16 ] ~ [ wine-1.5.15 ] ~ [ wine-1.5.14 ] ~ [ wine-1.5.13 ] ~ [ wine-1.5.12 ] ~ [ wine-1.5.11 ] ~ [ wine-1.5.10 ] ~ [ wine-1.5.9 ] ~ [ wine-1.5.8 ] ~ [ wine-1.5.7 ] ~ [ wine-1.4.1 ] ~ [ wine-1.5.6 ] ~ [ wine-1.5.5 ] ~ [ wine-1.5.4 ] ~ [ wine-1.5.3 ] ~ [ wine-1.5.2 ] ~ [ wine-1.5.1 ] ~ [ wine-1.5.0 ] ~ [ wine-1.4 ] ~ [ wine-1.4-rc6 ] ~ [ wine-1.4-rc5 ] ~ [ wine-1.4-rc4 ] ~ [ wine-1.4-rc3 ] ~ [ wine-1.4-rc2 ] ~ [ wine-1.4-rc1 ] ~ [ wine-1.3.37 ] ~ [ wine-1.3.36 ] ~ [ wine-1.3.35 ] ~ [ wine-1.3.34 ] ~ [ wine-1.3.33 ] ~ [ wine-1.3.32 ] ~ [ wine-1.3.31 ] ~ [ wine-1.3.30 ] ~ [ wine-1.3.29 ] ~ [ wine-1.3.28 ] ~ [ wine-1.3.27 ] ~ [ wine-1.3.26 ] ~ [ wine-1.3.25 ] ~ [ wine-1.3.24 ] ~ [ wine-1.3.23 ] ~ [ wine-1.3.22 ] ~ [ wine-1.3.21 ] ~ [ wine-1.3.20 ] ~ [ wine-1.3.19 ] ~ [ wine-1.3.18 ] ~ [ wine-1.2.3 ] ~ [ wine-1.3.17 ] ~ [ wine-1.3.16 ] ~ [ wine-1.3.15 ] ~ [ wine-1.3.14 ] ~ [ wine-1.3.13 ] ~ [ wine-1.3.12 ] ~ [ wine-1.3.11 ] ~ [ wine-1.3.10 ] ~ [ wine-1.3.9 ] ~ [ wine-1.2.2 ] ~ [ wine-1.3.8 ] ~ [ wine-1.3.7 ] ~ [ wine-1.3.6 ] ~ [ wine-1.3.5 ] ~ [ wine-1.2.1 ] ~ [ wine-1.3.4 ] ~ [ wine-1.3.3 ] ~ [ wine-1.3.2 ] ~ [ wine-1.3.1 ] ~ [ wine-1.3.0 ] ~ [ wine-1.2 ] ~ [ wine-1.2-rc7 ] ~ [ wine-1.2-rc6 ] ~ [ wine-1.2-rc5 ] ~ [ wine-1.2-rc4 ] ~ [ wine-1.2-rc3 ] ~ [ wine-1.2-rc2 ] ~ [ wine-1.2-rc1 ] ~ [ wine-1.1.44 ] ~ [ wine-1.1.43 ] ~ [ wine-1.1.42 ] ~ [ wine-1.1.41 ] ~ [ wine-1.1.40 ] ~ [ wine-1.1.39 ] ~ [ wine-1.1.38 ] ~ [ wine-1.1.37 ] ~ [ wine-1.1.36 ] ~ [ wine-1.1.35 ] ~ [ wine-1.1.34 ] ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Copyright 2004-2010 Jacek Caban for CodeWeavers
  3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
  4  *
  5  * This library is free software; you can redistribute it and/or
  6  * modify it under the terms of the GNU Lesser General Public
  7  * License as published by the Free Software Foundation; either
  8  * version 2.1 of the License, or (at your option) any later version.
  9  *
 10  * This library is distributed in the hope that it will be useful,
 11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 13  * Lesser General Public License for more details.
 14  *
 15  * You should have received a copy of the GNU Lesser General Public
 16  * License along with this library; if not, write to the Free Software
 17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 18  */
 19 
 20 #include <mshtmdid.h>
 21 #include <mshtmcid.h>
 22 #include <olectl.h>
 23 
 24 import "ocidl.idl";
 25 import "dimm.idl";
 26 import "shtypes.idl";
 27 import "dispex.idl";
 28 
 29 cpp_quote("#include <olectl.h>")
 30 
 31 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
 32 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
 33 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
 34 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
 35 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
 36 
 37 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
 38 cpp_quote("#undef FindText")
 39 cpp_quote("#endif")
 40 
 41 typedef enum {
 42     POINTER_GRAVITY_Left,
 43     POINTER_GRAVITY_Right,
 44     POINTER_GRAVITY_Max = 2147483647
 45 } POINTER_GRAVITY;
 46 
 47 typedef enum {
 48     CONTEXT_TYPE_None,
 49     CONTEXT_TYPE_Text,
 50     CONTEXT_TYPE_EnterScope,
 51     CONTEXT_TYPE_ExitScope,
 52     CONTEXT_TYPE_NoScope,
 53     MARKUP_CONTEXT_TYPE_Max = 2147483647
 54 } MARKUP_CONTEXT_TYPE;
 55 
 56 typedef enum {
 57     ELEM_ADJ_BeforeBegin,
 58     ELEM_ADJ_AfterBegin,
 59     ELEM_ADJ_BeforeEnd,
 60     ELEM_ADJ_AfterEnd,
 61     ELEMENT_ADJACENCY_Max = 2147483647
 62 } ELEMENT_ADJACENCY;
 63 
 64 typedef enum {
 65     MOVEUNIT_PREVCHAR,
 66     MOVEUNIT_NEXTCHAR,
 67     MOVEUNIT_PREVCLUSTERBEG,
 68     MOVEUNIT_NEXTCLUSTERBEG,
 69     MOVEUNIT_PREVCLUSTEREND,
 70     MOVEUNIT_NEXTCLUSTEREND,
 71     MOVEUNIT_PREVWORDBEG,
 72     MOVEUNIT_NEXTWORDBEG,
 73     MOVEUNIT_PREVWORDEND,
 74     MOVEUNIT_NEXTWORDEND,
 75     MOVEUNIT_PREVPROOFWORD,
 76     MOVEUNIT_NEXTPROOFWORD,
 77     MOVEUNIT_NEXTURLBEG,
 78     MOVEUNIT_PREVURLBEG,
 79     MOVEUNIT_NEXTURLEND,
 80     MOVEUNIT_PREVURLEND,
 81     MOVEUNIT_PREVSENTENCE,
 82     MOVEUNIT_NEXTSENTENCE,
 83     MOVEUNIT_PREVBLOCK,
 84     MOVEUNIT_NEXTBLOCK,
 85     MOVEUNIT_ACTION_Max = 2147483647
 86 } MOVEUNIT_ACTION;
 87 
 88 typedef enum _SELECTION_TYPE {
 89     SELECTION_TYPE_None,
 90     SELECTION_TYPE_Caret,
 91     SELECTION_TYPE_Text,
 92     SELECTION_TYPE_Control,
 93     SELECTION_TYPE_Max = 2147483647
 94 } SELECTION_TYPE;
 95 
 96 [
 97     version(4.0),
 98     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
 99 ]
100 library MSHTML
101 {
102 
103 importlib("stdole2.tlb");
104 
105 typedef enum _DomConstructor {
106     DomConstructorObject                      = 0,
107     DomConstructorAttr                        = 1,
108     DomConstructorBehaviorUrnsCollection      = 2,
109     DomConstructorBookmarkCollection          = 3,
110     DomConstructorCompatibleInfo              = 4,
111     DomConstructorCompatibleInfoCollection    = 5,
112     DomConstructorControlRangeCollection      = 6,
113     DomConstructorCSSCurrentStyleDeclaration  = 7,
114     DomConstructorCSSRuleList                 = 8,
115     DomConstructorCSSRuleStyleDeclaration     = 9,
116     DomConstructorCSSStyleDeclaration         = 10,
117     DomConstructorCSSStyleRule                = 11,
118     DomConstructorCSSStyleSheet               = 12,
119     DomConstructorDataTransfer                = 13,
120     DomConstructorDOMImplementation           = 14,
121     DomConstructorElement                     = 15,
122     DomConstructorEvent                       = 16,
123     DomConstructorHistory                     = 17,
124     DomConstructorHTCElementBehaviorDefaults  = 18,
125     DomConstructorHTMLAnchorElement           = 19,
126     DomConstructorHTMLAreaElement             = 20,
127     DomConstructorHTMLAreasCollection         = 21,
128     DomConstructorHTMLBaseElement             = 22,
129     DomConstructorHTMLBaseFontElement         = 23,
130     DomConstructorHTMLBGSoundElement          = 24,
131     DomConstructorHTMLBlockElement            = 25,
132     DomConstructorHTMLBodyElement             = 26,
133     DomConstructorHTMLBRElement               = 27,
134     DomConstructorHTMLButtonElement           = 28,
135     DomConstructorHTMLCollection              = 29,
136     DomConstructorHTMLCommentElement          = 30,
137     DomConstructorHTMLDDElement               = 31,
138     DomConstructorHTMLDivElement              = 32,
139     DomConstructorHTMLDocument                = 33,
140     DomConstructorHTMLDListElement            = 34,
141     DomConstructorHTMLDTElement               = 35,
142     DomConstructorHTMLEmbedElement            = 36,
143     DomConstructorHTMLFieldSetElement         = 37,
144     DomConstructorHTMLFontElement             = 38,
145     DomConstructorHTMLFormElement             = 39,
146     DomConstructorHTMLFrameElement            = 40,
147     DomConstructorHTMLFrameSetElement         = 41,
148     DomConstructorHTMLGenericElement          = 42,
149     DomConstructorHTMLHeadElement             = 43,
150     DomConstructorHTMLHeadingElement          = 44,
151     DomConstructorHTMLHRElement               = 45,
152     DomConstructorHTMLHtmlElement             = 46,
153     DomConstructorHTMLIFrameElement           = 47,
154     DomConstructorHTMLImageElement            = 48,
155     DomConstructorHTMLInputElement            = 49,
156     DomConstructorHTMLIsIndexElement          = 50,
157     DomConstructorHTMLLabelElement            = 51,
158     DomConstructorHTMLLegendElement           = 52,
159     DomConstructorHTMLLIElement               = 53,
160     DomConstructorHTMLLinkElement             = 54,
161     DomConstructorHTMLMapElement              = 55,
162     DomConstructorHTMLMarqueeElement          = 56,
163     DomConstructorHTMLMetaElement             = 57,
164     DomConstructorHTMLModelessDialog          = 58,
165     DomConstructorHTMLNamespaceInfo           = 59,
166     DomConstructorHTMLNamespaceInfoCollection = 60,
167     DomConstructorHTMLNextIdElement           = 61,
168     DomConstructorHTMLNoShowElement           = 62,
169     DomConstructorHTMLObjectElement           = 63,
170     DomConstructorHTMLOListElement            = 64,
171     DomConstructorHTMLOptionElement           = 65,
172     DomConstructorHTMLParagraphElement        = 66,
173     DomConstructorHTMLParamElement            = 67,
174     DomConstructorHTMLPhraseElement           = 68,
175     DomConstructorHTMLPluginsCollection       = 69,
176     DomConstructorHTMLPopup                   = 70,
177     DomConstructorHTMLScriptElement           = 71,
178     DomConstructorHTMLSelectElement           = 72,
179     DomConstructorHTMLSpanElement             = 73,
180     DomConstructorHTMLStyleElement            = 74,
181     DomConstructorHTMLTableCaptionElement     = 75,
182     DomConstructorHTMLTableCellElement        = 76,
183     DomConstructorHTMLTableColElement         = 77,
184     DomConstructorHTMLTableElement            = 78,
185     DomConstructorHTMLTableRowElement         = 79,
186     DomConstructorHTMLTableSectionElement     = 80,
187     DomConstructorHTMLTextAreaElement         = 81,
188     DomConstructorHTMLTextElement             = 82,
189     DomConstructorHTMLTitleElement            = 83,
190     DomConstructorHTMLUListElement            = 84,
191     DomConstructorHTMLUnknownElement          = 85,
192     DomConstructorImage                       = 86,
193     DomConstructorLocation                    = 87,
194     DomConstructorNamedNodeMap                = 88,
195     DomConstructorNavigator                   = 89,
196     DomConstructorNodeList                    = 90,
197     DomConstructorOption                      = 91,
198     DomConstructorScreen                      = 92,
199     DomConstructorSelection                   = 93,
200     DomConstructorStaticNodeList              = 94,
201     DomConstructorStorage                     = 95,
202     DomConstructorStyleSheetList              = 96,
203     DomConstructorStyleSheetPage              = 97,
204     DomConstructorStyleSheetPageList          = 98,
205     DomConstructorText                        = 99,
206     DomConstructorTextRange                   = 100,
207     DomConstructorTextRangeCollection         = 101,
208     DomConstructorTextRectangle               = 102,
209     DomConstructorTextRectangleList           = 103,
210     DomConstructorWindow                      = 104,
211     DomConstructorXDomainRequest              = 105,
212     DomConstructorXMLHttpRequest              = 106,
213     DomConstructorMax                         = 107,
214     DomConstructor_Max                        = 2147483647L
215 } DomConstructor;
216 
217 [
218     odl,
219     oleautomation,
220     dual,
221     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
222 ]
223 interface IHTMLDOMConstructor : IDispatch
224 {
225     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
226     HRESULT constructor([retval, out] IDispatch* * p);
227 
228     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
229 
230     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
231 
232     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
233 
234     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
235 }
236 
237 #define WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL                     \
238     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]       \
239     IDispatch *constructor()
240 
241 interface IHTMLDocument2;
242 interface IHTMLElement2;
243 interface IHTMLStyleSheetsCollection;
244 interface IHTMLFrameBase;
245 interface IHTMLStorage;
246 interface IDOMEvent;
247 
248 /*****************************************************************************
249  *    IHTMLFiltersCollection interface
250  */
251 [
252     odl,
253     oleautomation,
254     dual,
255     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
256 ]
257 interface IHTMLFiltersCollection : IDispatch
258 {
259     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
260     HRESULT length([retval, out] LONG *p);
261 
262     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
263     HRESULT _newEnum([retval, out] IUnknown **p);
264 
265     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
266     HRESULT item(
267         [in] VARIANT *pvarIndex,
268         [retval, out] VARIANT *pvarResult);
269 }
270 
271 /*****************************************************************************
272  *    IHTMLStyle interface
273  */
274 [
275     odl,
276     oleautomation,
277     dual,
278     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
279 ]
280 interface IHTMLStyle : IDispatch
281 {
282     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
283     HRESULT fontFamily([in] BSTR v);
284 
285     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
286     HRESULT fontFamily([retval, out] BSTR *p);
287 
288     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
289     HRESULT fontStyle([in] BSTR v);
290 
291     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
292     HRESULT fontStyle([retval, out] BSTR *p);
293 
294     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
295     HRESULT fontVariant([in] BSTR v);
296 
297     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
298     HRESULT fontVariant([retval, out] BSTR *p);
299 
300     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
301     HRESULT fontWeight([in] BSTR v);
302 
303     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
304     HRESULT fontWeight([retval, out] BSTR *p);
305 
306     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
307     HRESULT fontSize([in] VARIANT v);
308 
309     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
310     HRESULT fontSize([retval, out] VARIANT *p);
311 
312     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
313     HRESULT font([in] BSTR v);
314 
315     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
316     HRESULT font([retval, out] BSTR *p);
317 
318     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
319     HRESULT color([in] VARIANT v);
320 
321     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
322     HRESULT color([retval, out] VARIANT *p);
323 
324     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
325     HRESULT background([in] BSTR v);
326 
327     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
328     HRESULT background([retval, out] BSTR *p);
329 
330     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
331     HRESULT backgroundColor([in] VARIANT v);
332 
333     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
334     HRESULT backgroundColor([retval, out] VARIANT *p);
335 
336     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
337     HRESULT backgroundImage([in] BSTR v);
338 
339     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
340     HRESULT backgroundImage([retval, out] BSTR *p);
341 
342     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
343     HRESULT backgroundRepeat([in] BSTR v);
344 
345     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
346     HRESULT backgroundRepeat([retval, out] BSTR *p);
347 
348     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
349     HRESULT backgroundAttachment([in] BSTR v);
350 
351     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
352     HRESULT backgroundAttachment([retval, out] BSTR *p);
353 
354     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
355     HRESULT backgroundPosition([in] BSTR v);
356 
357     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
358     HRESULT backgroundPosition([retval, out] BSTR *p);
359 
360     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
361     HRESULT backgroundPositionX([in] VARIANT v);
362 
363     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
364     HRESULT backgroundPositionX([retval, out] VARIANT *p);
365 
366     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
367     HRESULT backgroundPositionY([in] VARIANT v);
368 
369     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
370     HRESULT backgroundPositionY([retval, out] VARIANT *p);
371 
372     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
373     HRESULT wordSpacing([in] VARIANT v);
374 
375     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
376     HRESULT wordSpacing([retval, out] VARIANT *p);
377 
378     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
379     HRESULT letterSpacing([in] VARIANT v);
380 
381     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
382     HRESULT letterSpacing([retval, out] VARIANT *p);
383 
384     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
385     HRESULT textDecoration([in] BSTR v);
386 
387     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
388     HRESULT textDecoration([retval, out] BSTR *p);
389 
390     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
391     HRESULT textDecorationNone([in] VARIANT_BOOL v);
392 
393     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
394     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
395 
396     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
397     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
398 
399     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
400     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
401 
402     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
403     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
404 
405     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
406     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
407 
408     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
409     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
410 
411     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
412     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
413 
414     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
415     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
416 
417     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
418     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
419 
420     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
421     HRESULT verticalAlign([in] VARIANT v);
422 
423     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
424     HRESULT verticalAlign([retval, out] VARIANT *p);
425 
426     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
427     HRESULT textTransform([in] BSTR v);
428 
429     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
430     HRESULT textTransform([retval, out] BSTR *p);
431 
432     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
433     HRESULT textAlign([in] BSTR v);
434 
435     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
436     HRESULT textAlign([retval, out] BSTR *p);
437 
438     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
439     HRESULT textIndent([in] VARIANT v);
440 
441     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
442     HRESULT textIndent([retval, out] VARIANT *p);
443 
444     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
445     HRESULT lineHeight([in] VARIANT v);
446 
447     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
448     HRESULT lineHeight([retval, out] VARIANT *p);
449 
450     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
451     HRESULT marginTop([in] VARIANT v);
452 
453     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
454     HRESULT marginTop([retval, out] VARIANT *p);
455 
456     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
457     HRESULT marginRight([in] VARIANT v);
458 
459     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
460     HRESULT marginRight([retval, out] VARIANT *p);
461 
462     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
463     HRESULT marginBottom([in] VARIANT v);
464 
465     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
466     HRESULT marginBottom([retval, out] VARIANT *p);
467 
468     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
469     HRESULT marginLeft([in] VARIANT v);
470 
471     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
472     HRESULT marginLeft([retval, out] VARIANT *p);
473 
474     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
475     HRESULT margin([in] BSTR v);
476 
477     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
478     HRESULT margin([retval, out] BSTR *p);
479 
480     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
481     HRESULT paddingTop([in] VARIANT v);
482 
483     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
484     HRESULT paddingTop([retval, out] VARIANT *p);
485 
486     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
487     HRESULT paddingRight([in] VARIANT v);
488 
489     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
490     HRESULT paddingRight([retval, out] VARIANT *p);
491 
492     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
493     HRESULT paddingBottom([in] VARIANT v);
494 
495     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
496     HRESULT paddingBottom([retval, out] VARIANT *p);
497 
498     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
499     HRESULT paddingLeft([in] VARIANT v);
500 
501     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
502     HRESULT paddingLeft([retval, out] VARIANT *p);
503 
504     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
505     HRESULT padding([in] BSTR v);
506 
507     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
508     HRESULT padding([retval, out] BSTR *p);
509 
510     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
511     HRESULT border([in] BSTR v);
512 
513     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
514     HRESULT border([retval, out] BSTR *p);
515 
516     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
517     HRESULT borderTop([in] BSTR v);
518 
519     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
520     HRESULT borderTop([retval, out] BSTR *p);
521 
522     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
523     HRESULT borderRight([in] BSTR v);
524 
525     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
526     HRESULT borderRight([retval, out] BSTR *p);
527 
528     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
529     HRESULT borderBottom([in] BSTR v);
530 
531     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
532     HRESULT borderBottom([retval, out] BSTR *p);
533 
534     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
535     HRESULT borderLeft([in] BSTR v);
536 
537     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
538     HRESULT borderLeft([retval, out] BSTR *p);
539 
540     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
541     HRESULT borderColor([in] BSTR v);
542 
543     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
544     HRESULT borderColor([retval, out] BSTR *p);
545 
546     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
547     HRESULT borderTopColor([in] VARIANT v);
548 
549     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
550     HRESULT borderTopColor([retval, out] VARIANT *p);
551 
552     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
553     HRESULT borderRightColor([in] VARIANT v);
554 
555     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
556     HRESULT borderRightColor([retval, out] VARIANT *p);
557 
558     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
559     HRESULT borderBottomColor([in] VARIANT v);
560 
561     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
562     HRESULT borderBottomColor([retval, out] VARIANT *p);
563 
564     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
565     HRESULT borderLeftColor([in] VARIANT v);
566 
567     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
568     HRESULT borderLeftColor([retval, out] VARIANT *p);
569 
570     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
571     HRESULT borderWidth([in] BSTR v);
572 
573     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
574     HRESULT borderWidth([retval, out] BSTR *p);
575 
576     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
577     HRESULT borderTopWidth([in] VARIANT v);
578 
579     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
580     HRESULT borderTopWidth([retval, out] VARIANT *p);
581 
582     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
583     HRESULT borderRightWidth([in] VARIANT v);
584 
585     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
586     HRESULT borderRightWidth([retval, out] VARIANT *p);
587 
588     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
589     HRESULT borderBottomWidth([in] VARIANT v);
590 
591     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
592     HRESULT borderBottomWidth([retval, out] VARIANT *p);
593 
594     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
595     HRESULT borderLeftWidth([in] VARIANT v);
596 
597     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
598     HRESULT borderLeftWidth([retval, out] VARIANT *p);
599 
600     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
601     HRESULT borderStyle([in] BSTR v);
602 
603     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
604     HRESULT borderStyle([retval, out] BSTR *p);
605 
606     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
607     HRESULT borderTopStyle([in] BSTR v);
608 
609     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
610     HRESULT borderTopStyle([retval, out] BSTR *p);
611 
612     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
613     HRESULT borderRightStyle([in] BSTR v);
614 
615     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
616     HRESULT borderRightStyle([retval, out] BSTR *p);
617 
618     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
619     HRESULT borderBottomStyle([in] BSTR v);
620 
621     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
622     HRESULT borderBottomStyle([retval, out] BSTR *p);
623 
624     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
625     HRESULT borderLeftStyle([in] BSTR v);
626 
627     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
628     HRESULT borderLeftStyle([retval, out] BSTR *p);
629 
630     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
631     HRESULT width([in] VARIANT v);
632 
633     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
634     HRESULT width([retval, out] VARIANT *p);
635 
636     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
637     HRESULT height([in] VARIANT v);
638 
639     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
640     HRESULT height([retval, out] VARIANT *p);
641 
642     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
643     HRESULT styleFloat([in] BSTR v);
644 
645     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
646     HRESULT styleFloat([retval, out] BSTR *p);
647 
648     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
649     HRESULT clear([in] BSTR v);
650 
651     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
652     HRESULT clear([retval, out] BSTR *p);
653 
654     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
655     HRESULT display([in] BSTR v);
656 
657     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
658     HRESULT display([retval, out] BSTR *p);
659 
660     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
661     HRESULT visibility([in] BSTR v);
662 
663     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
664     HRESULT visibility([retval, out] BSTR *p);
665 
666     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
667     HRESULT listStyleType([in] BSTR v);
668 
669     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
670     HRESULT listStyleType([retval, out] BSTR *p);
671 
672     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
673     HRESULT listStylePosition([in] BSTR v);
674 
675     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
676     HRESULT listStylePosition([retval, out] BSTR *p);
677 
678     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
679     HRESULT listStyleImage([in] BSTR v);
680 
681     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
682     HRESULT listStyleImage([retval, out] BSTR *p);
683 
684     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
685     HRESULT listStyle([in] BSTR v);
686 
687     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
688     HRESULT listStyle([retval, out] BSTR *p);
689 
690     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
691     HRESULT whiteSpace([in] BSTR v);
692 
693     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
694     HRESULT whiteSpace([retval, out] BSTR *p);
695 
696     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
697     HRESULT top([in] VARIANT v);
698 
699     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
700     HRESULT top([retval, out] VARIANT *p);
701 
702     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
703     HRESULT left([in] VARIANT v);
704 
705     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
706     HRESULT left([retval, out] VARIANT *p);
707 
708     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
709     HRESULT position([retval, out] BSTR *p);
710 
711     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
712     HRESULT zIndex([in] VARIANT v);
713 
714     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
715     HRESULT zIndex([retval, out] VARIANT *p);
716 
717     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
718     HRESULT overflow([in] BSTR v);
719 
720     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
721     HRESULT overflow([retval, out] BSTR *p);
722 
723     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
724     HRESULT pageBreakBefore([in] BSTR v);
725 
726     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
727     HRESULT pageBreakBefore([retval, out] BSTR *p);
728 
729     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
730     HRESULT pageBreakAfter([in] BSTR v);
731 
732     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
733     HRESULT pageBreakAfter([retval, out] BSTR *p);
734 
735     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
736     HRESULT cssText([in] BSTR v);
737 
738     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
739     HRESULT cssText([retval, out] BSTR *p);
740 
741     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
742     HRESULT pixelTop([in] LONG v);
743 
744     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
745     HRESULT pixelTop([retval, out] LONG *p);
746 
747     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
748     HRESULT pixelLeft([in] LONG v);
749 
750     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
751     HRESULT pixelLeft([retval, out] LONG *p);
752 
753     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
754     HRESULT pixelWidth([in] LONG v);
755 
756     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
757     HRESULT pixelWidth([retval, out] LONG *p);
758 
759     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
760     HRESULT pixelHeight([in] LONG v);
761 
762     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
763     HRESULT pixelHeight([retval, out] LONG *p);
764 
765     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
766     HRESULT posTop([in] float v);
767 
768     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
769     HRESULT posTop([retval, out] float *p);
770 
771     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
772     HRESULT posLeft([in] float v);
773 
774     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
775     HRESULT posLeft([retval, out] float *p);
776 
777     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
778     HRESULT posWidth([in] float v);
779 
780     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
781     HRESULT posWidth([retval, out] float *p);
782 
783     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
784     HRESULT posHeight([in] float v);
785 
786     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
787     HRESULT posHeight([retval, out] float *p);
788 
789     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
790     HRESULT cursor([in] BSTR v);
791 
792     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
793     HRESULT cursor([retval, out] BSTR *p);
794 
795     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
796     HRESULT clip([in] BSTR v);
797 
798     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
799     HRESULT clip([retval, out] BSTR *p);
800 
801     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
802     HRESULT filter([in] BSTR v);
803 
804     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
805     HRESULT filter([retval, out] BSTR *p);
806 
807     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
808     HRESULT setAttribute(
809         [in] BSTR strAttributeName,
810         [in] VARIANT AttributeValue,
811         [defaultvalue(1), in] LONG lFlags);
812 
813     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
814     HRESULT getAttribute(
815         [in] BSTR strAttributeName,
816         [defaultvalue(0), in] LONG lFlags,
817         [retval, out] VARIANT *AttributeValue);
818 
819     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
820     HRESULT removeAttribute(
821         [in] BSTR strAttributeName,
822         [defaultvalue(1), in]
823         LONG lFlags,
824         [retval, out] VARIANT_BOOL *pfSuccess);
825 
826     [id(DISPID_IHTMLSTYLE_TOSTRING)]
827     HRESULT toString([retval, out] BSTR *String);
828 }
829 
830 /*****************************************************************************
831  *    IHTMLStyle2 interface
832  */
833 [
834     odl,
835     oleautomation,
836     dual,
837     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
838 ]
839 interface IHTMLStyle2 : IDispatch
840 {
841     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
842     HRESULT tableLayout([in] BSTR v);
843 
844     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
845     HRESULT tableLayout([out, retval] BSTR *p);
846 
847     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
848     HRESULT borderCollapse([in] BSTR v);
849 
850     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
851     HRESULT borderCollapse([out, retval] BSTR *p);
852 
853     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
854     HRESULT direction([in] BSTR v);
855 
856     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
857     HRESULT direction([out, retval] BSTR *p);
858 
859     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
860     HRESULT behavior([in] BSTR v);
861 
862     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
863     HRESULT behavior([out, retval] BSTR *p);
864 
865     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
866     HRESULT setExpression(
867             [in] BSTR propname,
868             [in] BSTR expression,
869             [in, defaultvalue("")] BSTR language);
870 
871     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
872     HRESULT getExpression(
873             [in] BSTR propname,
874             [out, retval] VARIANT *expression);
875 
876     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
877     HRESULT removeExpression(
878             [in] BSTR propname,
879             [out, retval] VARIANT_BOOL *pfSuccess);
880 
881     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
882     HRESULT position([in] BSTR v);
883 
884     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
885     HRESULT position([out, retval] BSTR *p);
886 
887     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
888     HRESULT unicodeBidi([in] BSTR v);
889 
890     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
891     HRESULT unicodeBidi([out, retval] BSTR *p);
892 
893     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
894     HRESULT bottom([in] VARIANT v);
895 
896     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
897     HRESULT bottom([out, retval] VARIANT *p);
898 
899     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
900     HRESULT right([in] VARIANT v);
901 
902     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
903     HRESULT right([out, retval] VARIANT *p);
904 
905     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
906     HRESULT pixelBottom([in] LONG v);
907 
908     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
909     HRESULT pixelBottom([out, retval] LONG *p);
910 
911     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
912     HRESULT pixelRight([in] LONG v);
913 
914     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
915     HRESULT pixelRight([out, retval] LONG *p);
916 
917     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
918     HRESULT posBottom([in] float v);
919 
920     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
921     HRESULT posBottom([out, retval] float *p);
922 
923     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
924     HRESULT posRight([in] float v);
925 
926     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
927     HRESULT posRight([out, retval] float *p);
928 
929     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
930     HRESULT imeMode([in] BSTR v);
931 
932     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
933     HRESULT imeMode([out, retval] BSTR *p);
934 
935     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
936     HRESULT rubyAlign([in] BSTR v);
937 
938     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
939     HRESULT rubyAlign([out, retval] BSTR *p);
940 
941     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
942     HRESULT rubyPosition([in] BSTR v);
943 
944     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
945     HRESULT rubyPosition([out, retval] BSTR *p);
946 
947     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
948     HRESULT rubyOverhang([in] BSTR v);
949 
950     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
951     HRESULT rubyOverhang([out, retval] BSTR *p);
952 
953     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
954     HRESULT layoutGridChar([in] VARIANT v);
955 
956     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
957     HRESULT layoutGridChar([out, retval] VARIANT *p);
958 
959     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
960     HRESULT layoutGridLine([in] VARIANT v);
961 
962     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
963     HRESULT layoutGridLine([out, retval] VARIANT *p);
964 
965     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
966     HRESULT layoutGridMode([in] BSTR v);
967 
968     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
969     HRESULT layoutGridMode([out, retval] BSTR *p);
970 
971     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
972     HRESULT layoutGridType([in] BSTR v);
973 
974     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
975     HRESULT layoutGridType([out, retval] BSTR *p);
976 
977     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
978     HRESULT layoutGrid([in] BSTR v);
979 
980     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
981     HRESULT layoutGrid([out, retval] BSTR *p);
982 
983     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
984     HRESULT wordBreak([in] BSTR v);
985 
986     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
987     HRESULT wordBreak([out, retval] BSTR *p);
988 
989     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
990     HRESULT lineBreak([in] BSTR v);
991 
992     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
993     HRESULT lineBreak([out, retval] BSTR *p);
994 
995     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
996     HRESULT textJustify([in] BSTR v);
997 
998     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
999     HRESULT textJustify([out, retval] BSTR *p);
1000 
1001     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1002     HRESULT textJustifyTrim([in] BSTR v);
1003 
1004     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1005     HRESULT textJustifyTrim([out, retval] BSTR *p);
1006 
1007     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1008     HRESULT textKashida([in] VARIANT v);
1009 
1010     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1011     HRESULT textKashida([out, retval] VARIANT *p);
1012 
1013     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1014     HRESULT textAutospace([in] BSTR v);
1015 
1016     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1017     HRESULT textAutospace([out, retval] BSTR *p);
1018 
1019     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1020     HRESULT overflowX([in] BSTR v);
1021 
1022     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1023     HRESULT overflowX([out, retval] BSTR *p);
1024 
1025     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1026     HRESULT overflowY([in] BSTR v);
1027 
1028     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1029     HRESULT overflowY([out, retval] BSTR *p);
1030 
1031     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1032     HRESULT accelerator([in] BSTR v);
1033 
1034     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1035     HRESULT accelerator([out, retval] BSTR *p);
1036 }
1037 
1038 /*****************************************************************************
1039  *    IHTMLRuleStyle interface
1040  */
1041 [
1042     odl,
1043     oleautomation,
1044     dual,
1045     uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
1046 ]
1047 interface IHTMLRuleStyle : IDispatch
1048 {
1049     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
1050     HRESULT fontFamily([in] BSTR v);
1051 
1052     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
1053     HRESULT fontFamily([retval, out] BSTR *p);
1054 
1055     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
1056     HRESULT fontStyle([in] BSTR v);
1057 
1058     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
1059     HRESULT fontStyle([retval, out] BSTR *p);
1060 
1061     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
1062     HRESULT fontVariant([in] BSTR v);
1063 
1064     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
1065     HRESULT fontVariant([retval, out] BSTR *p);
1066 
1067     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
1068     HRESULT fontWeight([in] BSTR v);
1069 
1070     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
1071     HRESULT fontWeight([retval, out] BSTR *p);
1072 
1073     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
1074     HRESULT fontSize([in] VARIANT v);
1075 
1076     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
1077     HRESULT fontSize([retval, out] VARIANT *p);
1078 
1079     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
1080     HRESULT font([in] BSTR v);
1081 
1082     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
1083     HRESULT font([retval, out] BSTR *p);
1084 
1085     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
1086     HRESULT color([in] VARIANT v);
1087 
1088     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
1089     HRESULT color([retval, out] VARIANT *p);
1090 
1091     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
1092     HRESULT background([in] BSTR v);
1093 
1094     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
1095     HRESULT background([retval, out] BSTR *p);
1096 
1097     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
1098     HRESULT backgroundColor([in] VARIANT v);
1099 
1100     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
1101     HRESULT backgroundColor([retval, out] VARIANT *p);
1102 
1103     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
1104     HRESULT backgroundImage([in] BSTR v);
1105 
1106     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
1107     HRESULT backgroundImage([retval, out] BSTR *p);
1108 
1109     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1110     HRESULT backgroundRepeat([in] BSTR v);
1111 
1112     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
1113     HRESULT backgroundRepeat([retval, out] BSTR *p);
1114 
1115     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1116     HRESULT backgroundAttachment([in] BSTR v);
1117 
1118     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
1119     HRESULT backgroundAttachment([retval, out] BSTR *p);
1120 
1121     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1122     HRESULT backgroundPosition([in] BSTR v);
1123 
1124     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1125     HRESULT backgroundPosition([retval, out] BSTR *p);
1126 
1127     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1128     HRESULT backgroundPositionX([in] VARIANT v);
1129 
1130     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1131     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1132 
1133     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1134     HRESULT backgroundPositionY([in] VARIANT v);
1135 
1136     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1137     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1138 
1139     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1140     HRESULT wordSpacing([in] VARIANT v);
1141 
1142     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1143     HRESULT wordSpacing([retval, out] VARIANT *p);
1144 
1145     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1146     HRESULT letterSpacing([in] VARIANT v);
1147 
1148     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1149     HRESULT letterSpacing([retval, out] VARIANT *p);
1150 
1151     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1152     HRESULT textDecoration([in] BSTR v);
1153 
1154     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1155     HRESULT textDecoration([retval, out] BSTR *p);
1156 
1157     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1158     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1159 
1160     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1161     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1162 
1163     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1164     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1165 
1166     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1167     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1168 
1169     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1170     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1171 
1172     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1173     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1174 
1175     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1176     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1177 
1178     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1179     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1180 
1181     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1182     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1183 
1184     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1185     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1186 
1187     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1188     HRESULT verticalAlign([in] VARIANT v);
1189 
1190     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1191     HRESULT verticalAlign([retval, out] VARIANT *p);
1192 
1193     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1194     HRESULT textTransform([in] BSTR v);
1195 
1196     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1197     HRESULT textTransform([retval, out] BSTR *p);
1198 
1199     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1200     HRESULT textAlign([in] BSTR v);
1201 
1202     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1203     HRESULT textAlign([retval, out] BSTR *p);
1204 
1205     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1206     HRESULT textIndent([in] VARIANT v);
1207 
1208     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1209     HRESULT textIndent([retval, out] VARIANT *p);
1210 
1211     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1212     HRESULT lineHeight([in] VARIANT v);
1213 
1214     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1215     HRESULT lineHeight([retval, out] VARIANT *p);
1216 
1217     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1218     HRESULT marginTop([in] VARIANT v);
1219 
1220     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1221     HRESULT marginTop([retval, out] VARIANT *p);
1222 
1223     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1224     HRESULT marginRight([in] VARIANT v);
1225 
1226     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1227     HRESULT marginRight([retval, out] VARIANT *p);
1228 
1229     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1230     HRESULT marginBottom([in] VARIANT v);
1231 
1232     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1233     HRESULT marginBottom([retval, out] VARIANT *p);
1234 
1235     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1236     HRESULT marginLeft([in] VARIANT v);
1237 
1238     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1239     HRESULT marginLeft([retval, out] VARIANT *p);
1240 
1241     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1242     HRESULT margin([in] BSTR v);
1243 
1244     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1245     HRESULT margin([retval, out] BSTR *p);
1246 
1247     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1248     HRESULT paddingTop([in] VARIANT v);
1249 
1250     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1251     HRESULT paddingTop([retval, out] VARIANT *p);
1252 
1253     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1254     HRESULT paddingRight([in] VARIANT v);
1255 
1256     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1257     HRESULT paddingRight([retval, out] VARIANT *p);
1258 
1259     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1260     HRESULT paddingBottom([in] VARIANT v);
1261 
1262     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1263     HRESULT paddingBottom([retval, out] VARIANT *p);
1264 
1265     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1266     HRESULT paddingLeft([in] VARIANT v);
1267 
1268     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1269     HRESULT paddingLeft([retval, out] VARIANT *p);
1270 
1271     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1272     HRESULT padding([in] BSTR v);
1273 
1274     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1275     HRESULT padding([retval, out] BSTR *p);
1276 
1277     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1278     HRESULT border([in] BSTR v);
1279 
1280     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1281     HRESULT border([retval, out] BSTR *p);
1282 
1283     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1284     HRESULT borderTop([in] BSTR v);
1285 
1286     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1287     HRESULT borderTop([retval, out] BSTR *p);
1288 
1289     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1290     HRESULT borderRight([in] BSTR v);
1291 
1292     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1293     HRESULT borderRight([retval, out] BSTR *p);
1294 
1295     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1296     HRESULT borderBottom([in] BSTR v);
1297 
1298     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1299     HRESULT borderBottom([retval, out] BSTR *p);
1300 
1301     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1302     HRESULT borderLeft([in] BSTR v);
1303 
1304     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1305     HRESULT borderLeft([retval, out] BSTR *p);
1306 
1307     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1308     HRESULT borderColor([in] BSTR v);
1309 
1310     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1311     HRESULT borderColor([retval, out] BSTR *p);
1312 
1313     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1314     HRESULT borderTopColor([in] VARIANT v);
1315 
1316     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1317     HRESULT borderTopColor([retval, out] VARIANT *p);
1318 
1319     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1320     HRESULT borderRightColor([in] VARIANT v);
1321 
1322     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1323     HRESULT borderRightColor([retval, out] VARIANT *p);
1324 
1325     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1326     HRESULT borderBottomColor([in] VARIANT v);
1327 
1328     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1329     HRESULT borderBottomColor([retval, out] VARIANT *p);
1330 
1331     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1332     HRESULT borderLeftColor([in] VARIANT v);
1333 
1334     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1335     HRESULT borderLeftColor([retval, out] VARIANT *p);
1336 
1337     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1338     HRESULT borderWidth([in] BSTR v);
1339 
1340     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1341     HRESULT borderWidth([retval, out] BSTR *p);
1342 
1343     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1344     HRESULT borderTopWidth([in] VARIANT v);
1345 
1346     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1347     HRESULT borderTopWidth([retval, out] VARIANT *p);
1348 
1349     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1350     HRESULT borderRightWidth([in] VARIANT v);
1351 
1352     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1353     HRESULT borderRightWidth([retval, out] VARIANT *p);
1354 
1355     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1356     HRESULT borderBottomWidth([in] VARIANT v);
1357 
1358     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1359     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1360 
1361     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1362     HRESULT borderLeftWidth([in] VARIANT v);
1363 
1364     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1365     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1366 
1367     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1368     HRESULT borderStyle([in] BSTR v);
1369 
1370     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1371     HRESULT borderStyle([retval, out] BSTR *p);
1372 
1373     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1374     HRESULT borderTopStyle([in] BSTR v);
1375 
1376     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1377     HRESULT borderTopStyle([retval, out] BSTR *p);
1378 
1379     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1380     HRESULT borderRightStyle([in] BSTR v);
1381 
1382     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1383     HRESULT borderRightStyle([retval, out] BSTR *p);
1384 
1385     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1386     HRESULT borderBottomStyle([in] BSTR v);
1387 
1388     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1389     HRESULT borderBottomStyle([retval, out] BSTR *p);
1390 
1391     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1392     HRESULT borderLeftStyle([in] BSTR v);
1393 
1394     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1395     HRESULT borderLeftStyle([retval, out] BSTR *p);
1396 
1397     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1398     HRESULT width([in] VARIANT v);
1399 
1400     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1401     HRESULT width([retval, out] VARIANT *p);
1402 
1403     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1404     HRESULT height([in] VARIANT v);
1405 
1406     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1407     HRESULT height([retval, out] VARIANT *p);
1408 
1409     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1410     HRESULT styleFloat([in] BSTR v);
1411 
1412     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1413     HRESULT styleFloat([retval, out] BSTR *p);
1414 
1415     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1416     HRESULT clear([in] BSTR v);
1417 
1418     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1419     HRESULT clear([retval, out] BSTR *p);
1420 
1421     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1422     HRESULT display([in] BSTR v);
1423 
1424     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1425     HRESULT display([retval, out] BSTR *p);
1426 
1427     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1428     HRESULT visibility([in] BSTR v);
1429 
1430     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1431     HRESULT visibility([retval, out] BSTR *p);
1432 
1433     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1434     HRESULT listStyleType([in] BSTR v);
1435 
1436     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1437     HRESULT listStyleType([retval, out] BSTR *p);
1438 
1439     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1440     HRESULT listStylePosition([in] BSTR v);
1441 
1442     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1443     HRESULT listStylePosition([retval, out] BSTR *p);
1444 
1445     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1446     HRESULT listStyleImage([in] BSTR v);
1447 
1448     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1449     HRESULT listStyleImage([retval, out] BSTR *p);
1450 
1451     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1452     HRESULT listStyle([in] BSTR v);
1453 
1454     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1455     HRESULT listStyle([retval, out] BSTR *p);
1456 
1457     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1458     HRESULT whiteSpace([in] BSTR v);
1459 
1460     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1461     HRESULT whiteSpace([retval, out] BSTR *p);
1462 
1463     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1464     HRESULT top([in] VARIANT v);
1465 
1466     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1467     HRESULT top([retval, out] VARIANT *p);
1468 
1469     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1470     HRESULT left([in] VARIANT v);
1471 
1472     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1473     HRESULT left([retval, out] VARIANT *p);
1474 
1475     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1476     HRESULT position([retval, out] BSTR *p);
1477 
1478     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1479     HRESULT zIndex([in] VARIANT v);
1480 
1481     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1482     HRESULT zIndex([retval, out] VARIANT *p);
1483 
1484     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1485     HRESULT overflow([in] BSTR v);
1486 
1487     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1488     HRESULT overflow([retval, out] BSTR *p);
1489 
1490     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1491     HRESULT pageBreakBefore([in] BSTR v);
1492 
1493     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1494     HRESULT pageBreakBefore([retval, out] BSTR *p);
1495 
1496     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1497     HRESULT pageBreakAfter([in] BSTR v);
1498 
1499     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1500     HRESULT pageBreakAfter([retval, out] BSTR *p);
1501 
1502     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1503     HRESULT cssText([in] BSTR v);
1504 
1505     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1506     HRESULT cssText([retval, out] BSTR *p);
1507 
1508     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1509     HRESULT cursor([in] BSTR v);
1510 
1511     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1512     HRESULT cursor([retval, out] BSTR *p);
1513 
1514     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1515     HRESULT clip([in] BSTR v);
1516 
1517     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1518     HRESULT clip([retval, out] BSTR *p);
1519 
1520     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1521     HRESULT filter([in] BSTR v);
1522 
1523     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1524     HRESULT filter([retval, out] BSTR *p);
1525 
1526     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1527     HRESULT setAttribute(
1528         [in] BSTR strAttributeName,
1529         [in] VARIANT AttributeValue,
1530         [defaultvalue(1), in] LONG lFlags);
1531 
1532     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1533     HRESULT getAttribute(
1534         [in] BSTR strAttributeName,
1535         [defaultvalue(0), in] LONG lFlags,
1536         [retval, out] VARIANT *AttributeValue);
1537 
1538     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1539     HRESULT removeAttribute(
1540         [in] BSTR strAttributeName,
1541         [defaultvalue(1), in] LONG lFlags,
1542         [retval, out] VARIANT_BOOL *pfSuccess);
1543 }
1544 
1545 /*****************************************************************************
1546  *    DispHTMLStyle dispinterface
1547  */
1548 [
1549     hidden,
1550     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1551 ]
1552 dispinterface DispHTMLStyle
1553 {
1554 properties:
1555 methods:
1556     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1557     void fontFamily(BSTR v);
1558 
1559     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1560     BSTR fontFamily();
1561 
1562     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1563     void fontStyle(BSTR v);
1564 
1565     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1566     BSTR fontStyle();
1567 
1568     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1569     void fontVariant(BSTR v);
1570 
1571     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1572     BSTR fontVariant();
1573 
1574     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1575     void fontWeight(BSTR v);
1576 
1577     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1578     BSTR fontWeight();
1579 
1580     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1581     void fontSize(VARIANT v);
1582 
1583     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1584     VARIANT fontSize();
1585 
1586     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1587     void font(BSTR v);
1588 
1589     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1590     BSTR font();
1591 
1592     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1593     void color(VARIANT v);
1594 
1595     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1596     VARIANT color();
1597 
1598     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1599     void background(BSTR v);
1600 
1601     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1602     BSTR background();
1603 
1604     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1605     void backgroundColor(VARIANT v);
1606 
1607     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1608     VARIANT backgroundColor();
1609 
1610     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1611     void backgroundImage(BSTR v);
1612 
1613     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1614     BSTR backgroundImage();
1615 
1616     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1617     void backgroundRepeat(BSTR v);
1618 
1619     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1620     BSTR backgroundRepeat();
1621 
1622     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1623     void backgroundAttachment(BSTR v);
1624 
1625     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1626     BSTR backgroundAttachment();
1627 
1628     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1629     void backgroundPosition(BSTR v);
1630 
1631     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1632     BSTR backgroundPosition();
1633 
1634     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1635     void backgroundPositionX(VARIANT v);
1636 
1637     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1638     VARIANT backgroundPositionX();
1639 
1640     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1641     void backgroundPositionY(VARIANT v);
1642 
1643     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1644     VARIANT backgroundPositionY();
1645 
1646     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1647     void wordSpacing(VARIANT v);
1648 
1649     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1650     VARIANT wordSpacing();
1651 
1652     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1653     void letterSpacing(VARIANT v);
1654 
1655     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1656     VARIANT letterSpacing();
1657 
1658     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1659     void textDecoration(BSTR v);
1660 
1661     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1662     BSTR textDecoration();
1663 
1664     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1665     void textDecorationNone(VARIANT_BOOL v);
1666 
1667     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1668     VARIANT_BOOL textDecorationNone();
1669 
1670     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1671     void textDecorationUnderline(VARIANT_BOOL v);
1672 
1673     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1674     VARIANT_BOOL textDecorationUnderline();
1675 
1676     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1677     void textDecorationOverline(VARIANT_BOOL v);
1678 
1679     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1680     VARIANT_BOOL textDecorationOverline();
1681 
1682     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1683     void textDecorationLineThrough(VARIANT_BOOL v);
1684 
1685     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1686     VARIANT_BOOL textDecorationLineThrough();
1687 
1688     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1689     void textDecorationBlink(VARIANT_BOOL v);
1690 
1691     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1692     VARIANT_BOOL textDecorationBlink();
1693 
1694     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1695     void verticalAlign(VARIANT v);
1696 
1697     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1698     VARIANT verticalAlign();
1699 
1700     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1701     void textTransform(BSTR v);
1702 
1703     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1704     BSTR textTransform();
1705 
1706     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1707     void textAlign(BSTR v);
1708 
1709     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1710     BSTR textAlign();
1711 
1712     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1713     void textIndent(VARIANT v);
1714 
1715     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1716     VARIANT textIndent();
1717 
1718     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1719     void lineHeight(VARIANT v);
1720 
1721     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1722     VARIANT lineHeight();
1723 
1724     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1725     void marginTop(VARIANT v);
1726 
1727     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1728     VARIANT marginTop();
1729 
1730     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1731     void marginRight(VARIANT v);
1732 
1733     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1734     VARIANT marginRight();
1735 
1736     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1737     void marginBottom(VARIANT v);
1738 
1739     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1740     VARIANT marginBottom();
1741 
1742     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1743     void marginLeft(VARIANT v);
1744 
1745     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1746     VARIANT marginLeft();
1747 
1748     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1749     void margin(BSTR v);
1750 
1751     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1752     BSTR margin();
1753 
1754     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1755     void paddingTop(VARIANT v);
1756 
1757     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1758     VARIANT paddingTop();
1759 
1760     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1761     void paddingRight(VARIANT v);
1762 
1763     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1764     VARIANT paddingRight();
1765 
1766     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1767     void paddingBottom(VARIANT v);
1768 
1769     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1770     VARIANT paddingBottom();
1771 
1772     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1773     void paddingLeft(VARIANT v);
1774 
1775     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1776     VARIANT paddingLeft();
1777 
1778     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1779     void padding(BSTR v);
1780 
1781     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1782     BSTR padding();
1783 
1784     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1785     void border(BSTR v);
1786 
1787     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1788     BSTR border();
1789 
1790     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1791     void borderTop(BSTR v);
1792 
1793     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1794     BSTR borderTop();
1795 
1796     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1797     void borderRight(BSTR v);
1798 
1799     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1800     BSTR borderRight();
1801 
1802     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1803     void borderBottom(BSTR v);
1804 
1805     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1806     BSTR borderBottom();
1807 
1808     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1809     void borderLeft(BSTR v);
1810 
1811     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1812     BSTR borderLeft();
1813 
1814     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1815     void borderColor(BSTR v);
1816 
1817     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1818     BSTR borderColor();
1819 
1820     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1821     void borderTopColor(VARIANT v);
1822 
1823     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1824     VARIANT borderTopColor();
1825 
1826     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1827     void borderRightColor(VARIANT v);
1828 
1829     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1830     VARIANT borderRightColor();
1831 
1832     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1833     void borderBottomColor(VARIANT v);
1834 
1835     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1836     VARIANT borderBottomColor();
1837 
1838     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1839     void borderLeftColor(VARIANT v);
1840 
1841     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1842     VARIANT borderLeftColor();
1843 
1844     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1845     void borderWidth(BSTR v);
1846 
1847     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1848     BSTR borderWidth();
1849 
1850     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1851     void borderTopWidth(VARIANT v);
1852 
1853     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1854     VARIANT borderTopWidth();
1855 
1856     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1857     void borderRightWidth(VARIANT v);
1858 
1859     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1860     VARIANT borderRightWidth();
1861 
1862     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1863     void borderBottomWidth(VARIANT v);
1864 
1865     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1866     VARIANT borderBottomWidth();
1867 
1868     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1869     void borderLeftWidth(VARIANT v);
1870 
1871     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1872     VARIANT borderLeftWidth();
1873 
1874     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1875     void borderStyle(BSTR v);
1876 
1877     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1878     BSTR borderStyle();
1879 
1880     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1881     void borderTopStyle(BSTR v);
1882 
1883     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1884     BSTR borderTopStyle();
1885 
1886     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1887     void borderRightStyle(BSTR v);
1888 
1889     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1890     BSTR borderRightStyle();
1891 
1892     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1893     void borderBottomStyle(BSTR v);
1894 
1895     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1896     BSTR borderBottomStyle();
1897 
1898     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1899     void borderLeftStyle(BSTR v);
1900 
1901     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1902     BSTR borderLeftStyle();
1903 
1904     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1905     void width(VARIANT v);
1906 
1907     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1908     VARIANT width();
1909 
1910     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1911     void height(VARIANT v);
1912 
1913     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1914     VARIANT height();
1915 
1916     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1917     void styleFloat(BSTR v);
1918 
1919     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1920     BSTR styleFloat();
1921 
1922     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1923     void clear(BSTR v);
1924 
1925     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1926     BSTR clear();
1927 
1928     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1929     void display(BSTR v);
1930 
1931     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1932     BSTR display();
1933 
1934     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1935     void visibility(BSTR v);
1936 
1937     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1938     BSTR visibility();
1939 
1940     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1941     void listStyleType(BSTR v);
1942 
1943     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1944     BSTR listStyleType();
1945 
1946     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1947     void listStylePosition(BSTR v);
1948 
1949     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1950     BSTR listStylePosition();
1951 
1952     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1953     void listStyleImage(BSTR v);
1954 
1955     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1956     BSTR listStyleImage();
1957 
1958     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1959     void listStyle(BSTR v);
1960 
1961     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1962     BSTR listStyle();
1963 
1964     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1965     void whiteSpace(BSTR v);
1966 
1967     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1968     BSTR whiteSpace();
1969 
1970     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1971     void top(VARIANT v);
1972 
1973     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1974     VARIANT top();
1975 
1976     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1977     void left(VARIANT v);
1978 
1979     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1980     VARIANT left();
1981 
1982     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1983     void zIndex(VARIANT v);
1984 
1985     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1986     VARIANT zIndex();
1987 
1988     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1989     void overflow(BSTR v);
1990 
1991     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1992     BSTR overflow();
1993 
1994     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1995     void pageBreakBefore(BSTR v);
1996 
1997     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1998     BSTR pageBreakBefore();
1999 
2000     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2001     void pageBreakAfter(BSTR v);
2002 
2003     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2004     BSTR pageBreakAfter();
2005 
2006     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
2007     void cssText(BSTR v);
2008 
2009     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
2010     BSTR cssText();
2011 
2012     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
2013     void pixelTop(LONG v);
2014 
2015     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
2016     LONG pixelTop();
2017 
2018     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
2019     void pixelLeft(LONG v);
2020 
2021     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
2022     LONG pixelLeft();
2023 
2024     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
2025     void pixelWidth(LONG v);
2026 
2027     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
2028     LONG pixelWidth();
2029 
2030     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
2031     void pixelHeight(LONG v);
2032 
2033     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
2034     LONG pixelHeight();
2035 
2036     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
2037     void posTop(float v);
2038 
2039     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
2040     float posTop();
2041 
2042     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
2043     void posLeft(float v);
2044 
2045     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
2046     float posLeft();
2047 
2048     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
2049     void posWidth(float v);
2050 
2051     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
2052     float posWidth();
2053 
2054     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
2055     void posHeight(float v);
2056 
2057     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
2058     float posHeight();
2059 
2060     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
2061     void cursor(BSTR v);
2062 
2063     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
2064     BSTR cursor();
2065 
2066     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
2067     void clip(BSTR v);
2068 
2069     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
2070     BSTR clip();
2071 
2072     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
2073     void filter(BSTR v);
2074 
2075     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
2076     BSTR filter();
2077 
2078     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
2079     void setAttribute(
2080             [in] BSTR strAttributeName,
2081             [in] VARIANT AttributeValue,
2082             [in, defaultvalue(1)] LONG lFlags);
2083 
2084     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
2085     VARIANT getAttribute(
2086             [in] BSTR strAttributeName,
2087             [in, defaultvalue(0)] LONG lFlags);
2088 
2089     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
2090     VARIANT_BOOL removeAttribute(
2091             [in] BSTR strAttributeName,
2092             [in, defaultvalue(1)] LONG lFlags);
2093 
2094     [id(DISPID_IHTMLSTYLE_TOSTRING)]
2095     BSTR toString();
2096 
2097     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
2098     void tableLayout(BSTR v);
2099 
2100     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
2101     BSTR tableLayout();
2102 
2103     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
2104     void borderCollapse(BSTR v);
2105 
2106     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
2107     BSTR borderCollapse();
2108 
2109     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2110     void direction(BSTR v);
2111 
2112     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
2113     BSTR direction();
2114 
2115     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2116     void behavior(BSTR v);
2117 
2118     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
2119     BSTR behavior();
2120 
2121     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2122     void setExpression(
2123             [in] BSTR propname,
2124             [in] BSTR expression,
2125             [in, defaultvalue("")] BSTR language);
2126 
2127     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2128     VARIANT getExpression([in] BSTR propname);
2129 
2130     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2131     VARIANT_BOOL removeExpression([in] BSTR propname);
2132 
2133     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2134     void position(BSTR v);
2135 
2136     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2137     BSTR position();
2138 
2139     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2140     void unicodeBidi(BSTR v);
2141 
2142     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2143     BSTR unicodeBidi();
2144 
2145     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2146     void bottom(VARIANT v);
2147 
2148     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2149     VARIANT bottom();
2150 
2151     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2152     void right(VARIANT v);
2153 
2154     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2155     VARIANT right();
2156 
2157     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2158     void pixelBottom(LONG v);
2159 
2160     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2161     LONG pixelBottom();
2162 
2163     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2164     void pixelRight(LONG v);
2165 
2166     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2167     LONG pixelRight();
2168 
2169     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2170     void posBottom(float v);
2171 
2172     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2173     float posBottom();
2174 
2175     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2176     void posRight(float v);
2177 
2178     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2179     float posRight();
2180 
2181     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2182     void imeMode(BSTR v);
2183 
2184     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2185     BSTR imeMode();
2186 
2187     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2188     void rubyAlign(BSTR v);
2189 
2190     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2191     BSTR rubyAlign();
2192 
2193     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2194     void rubyPosition(BSTR v);
2195 
2196     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2197     BSTR rubyPosition();
2198 
2199     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2200     void rubyOverhang(BSTR v);
2201 
2202     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2203     BSTR rubyOverhang();
2204 
2205     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2206     void layoutGridChar(VARIANT v);
2207 
2208     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2209     VARIANT layoutGridChar();
2210 
2211     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2212     void layoutGridLine(VARIANT v);
2213 
2214     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2215     VARIANT layoutGridLine();
2216 
2217     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2218     void layoutGridMode(BSTR v);
2219 
2220     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2221     BSTR layoutGridMode();
2222 
2223     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2224     void layoutGridType(BSTR v);
2225 
2226     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2227     BSTR layoutGridType();
2228 
2229     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2230     void layoutGrid(BSTR v);
2231 
2232     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2233     BSTR layoutGrid();
2234 
2235     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2236     void wordBreak(BSTR v);
2237 
2238     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2239     BSTR wordBreak();
2240 
2241     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2242     void lineBreak(BSTR v);
2243 
2244     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2245     BSTR lineBreak();
2246 
2247     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2248     void textJustify(BSTR v);
2249 
2250     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2251     BSTR textJustify();
2252 
2253     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2254     void textJustifyTrim(BSTR v);
2255 
2256     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2257     BSTR textJustifyTrim();
2258 
2259     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2260     void textKashida(VARIANT v);
2261 
2262     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2263     VARIANT textKashida();
2264 
2265     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2266     void textAutospace(BSTR v);
2267 
2268     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2269     BSTR textAutospace();
2270 
2271     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2272     void overflowX(BSTR v);
2273 
2274     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2275     BSTR overflowX();
2276 
2277     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2278     void overflowY(BSTR v);
2279 
2280     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2281     BSTR overflowY();
2282 
2283     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2284     void accelerator(BSTR v);
2285 
2286     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2287     BSTR accelerator();
2288 
2289     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2290     void layoutFlow(BSTR v);
2291 
2292     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2293     BSTR layoutFlow();
2294 
2295     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2296     void zoom(VARIANT v);
2297 
2298     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2299     VARIANT zoom();
2300 
2301     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2302     void wordWrap(BSTR v);
2303 
2304     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2305     BSTR wordWrap();
2306 
2307     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2308     void textUnderlinePosition(BSTR v);
2309 
2310     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2311     BSTR textUnderlinePosition();
2312 
2313     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2314     void scrollbarBaseColor(VARIANT v);
2315 
2316     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2317     VARIANT scrollbarBaseColor();
2318 
2319     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2320     void scrollbarFaceColor(VARIANT v);
2321 
2322     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2323     VARIANT scrollbarFaceColor();
2324 
2325     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2326     void scrollbar3dLightColor(VARIANT v);
2327 
2328     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2329     VARIANT scrollbar3dLightColor();
2330 
2331     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2332     void scrollbarShadowColor(VARIANT v);
2333 
2334     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2335     VARIANT scrollbarShadowColor();
2336 
2337     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2338     void scrollbarHighlightColor(VARIANT v);
2339 
2340     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2341     VARIANT scrollbarHighlightColor();
2342 
2343     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2344     void scrollbarDarkShadowColor(VARIANT v);
2345 
2346     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2347     VARIANT scrollbarDarkShadowColor();
2348 
2349     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2350     void scrollbarArrowColor(VARIANT v);
2351 
2352     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2353     VARIANT scrollbarArrowColor();
2354 
2355     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2356     void scrollbarTrackColor(VARIANT v);
2357 
2358     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2359     VARIANT scrollbarTrackColor();
2360 
2361     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2362     void writingMode(BSTR v);
2363 
2364     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2365     BSTR writingMode();
2366 
2367     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2368     void textAlignLast(BSTR v);
2369 
2370     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2371     BSTR textAlignLast();
2372 
2373     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2374     void textKashidaSpace(VARIANT v);
2375 
2376     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2377     VARIANT textKashidaSpace();
2378 
2379     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2380     void textOverflow(BSTR v);
2381 
2382     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2383     BSTR textOverflow();
2384 
2385     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2386     void minHeight(VARIANT v);
2387 
2388     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2389     VARIANT minHeight();
2390 
2391     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2392     void msInterpolationMode(BSTR v);
2393 
2394     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2395     BSTR msInterpolationMode();
2396 
2397     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2398     void maxHeight(VARIANT v);
2399 
2400     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2401     VARIANT maxHeight();
2402 
2403     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2404     void minWidth(VARIANT v);
2405 
2406     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2407     VARIANT minWidth();
2408 
2409     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2410     void maxWidth(VARIANT v);
2411 
2412     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2413     VARIANT maxWidth();
2414 
2415     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2416     void content(BSTR v);
2417 
2418     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2419     BSTR content();
2420 
2421     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2422     void captionSide(BSTR v);
2423 
2424     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2425     BSTR captionSide();
2426 
2427     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2428     void counterIncrement(BSTR v);
2429 
2430     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2431     BSTR counterIncrement();
2432 
2433     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2434     void counterReset(BSTR v);
2435 
2436     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2437     BSTR counterReset();
2438 
2439     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2440     void outline(BSTR v);
2441 
2442     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2443     BSTR outline();
2444 
2445     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2446     void outlineWidth(VARIANT v);
2447 
2448     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2449     VARIANT outlineWidth();
2450 
2451     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2452     void outlineStyle(BSTR v);
2453 
2454     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2455     BSTR outlineStyle();
2456 
2457     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2458     void outlineColor(VARIANT v);
2459 
2460     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2461     VARIANT outlineColor();
2462 
2463     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2464     void boxSizing(BSTR v);
2465 
2466     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2467     BSTR boxSizing();
2468 
2469     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2470     void borderSpacing(BSTR v);
2471 
2472     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2473     BSTR borderSpacing();
2474 
2475     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2476     void orphans(VARIANT v);
2477 
2478     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2479     VARIANT orphans();
2480 
2481     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2482     void widows(VARIANT v);
2483 
2484     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2485     VARIANT widows();
2486 
2487     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2488     void pageBreakInside(BSTR v);
2489 
2490     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2491     BSTR pageBreakInside();
2492 
2493     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2494     void emptyCells(BSTR v);
2495 
2496     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2497     BSTR emptyCells();
2498 
2499     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2500     void msBlockProgression(BSTR v);
2501 
2502     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2503     BSTR msBlockProgression();
2504 
2505     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2506     void quotes(BSTR v);
2507 
2508     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2509     BSTR quotes();
2510 
2511     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
2512     IDispatch *constructor();
2513 }
2514 
2515 [
2516     odl,
2517     oleautomation,
2518     dual,
2519     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2520 ]
2521 interface IHTMLStyle3 : IDispatch
2522 {
2523     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2524     HRESULT layoutFlow([in] BSTR v);
2525 
2526     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2527     HRESULT layoutFlow([retval, out] BSTR * p);
2528 
2529     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2530     HRESULT zoom([in] VARIANT v);
2531 
2532     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2533     HRESULT zoom([retval, out] VARIANT * p);
2534 
2535     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2536     HRESULT wordWrap([in] BSTR v);
2537 
2538     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2539     HRESULT wordWrap([retval, out] BSTR * p);
2540 
2541     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2542     HRESULT textUnderlinePosition([in] BSTR v);
2543 
2544     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2545     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2546 
2547     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2548     HRESULT scrollbarBaseColor([in] VARIANT v);
2549 
2550     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2551     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2552 
2553     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2554     HRESULT scrollbarFaceColor([in] VARIANT v);
2555 
2556     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2557     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2558 
2559     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2560     HRESULT scrollbar3dLightColor([in] VARIANT v);
2561 
2562     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2563     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2564 
2565     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2566     HRESULT scrollbarShadowColor([in] VARIANT v);
2567 
2568     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2569     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2570 
2571     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2572     HRESULT scrollbarHighlightColor([in] VARIANT v);
2573 
2574     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2575     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2576 
2577     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2578     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2579 
2580     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2581     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2582 
2583     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2584     HRESULT scrollbarArrowColor([in] VARIANT v);
2585 
2586     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2587     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2588 
2589     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2590     HRESULT scrollbarTrackColor([in] VARIANT v);
2591 
2592     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2593     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2594 
2595     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2596     HRESULT writingMode([in] BSTR v);
2597 
2598     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2599     HRESULT writingMode([retval, out] BSTR * p);
2600 
2601     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2602     HRESULT textAlignLast([in] BSTR v);
2603 
2604     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2605     HRESULT textAlignLast([retval, out] BSTR * p);
2606 
2607     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2608     HRESULT textKashidaSpace([in] VARIANT v);
2609 
2610     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2611     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2612 }
2613 
2614 /*****************************************************************************
2615  *    IHTMLSytyle4 interface
2616  */
2617 [
2618     odl,
2619     oleautomation,
2620     dual,
2621     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2622 ]
2623 interface IHTMLStyle4 : IDispatch
2624 {
2625     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2626     HRESULT textOverflow([in] BSTR v);
2627 
2628     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2629     HRESULT textOverflow([retval, out] BSTR * p);
2630 
2631     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2632     HRESULT minHeight([in] VARIANT v);
2633 
2634     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2635     HRESULT minHeight([retval, out] VARIANT * p);
2636 }
2637 
2638 /*****************************************************************************
2639  *    IHTMLSytyle5 interface
2640  */
2641 [
2642     odl,
2643     oleautomation,
2644     dual,
2645     uuid(3050f33a-98b5-11cf-bb82-00aa00bdce0b)
2646 ]
2647 interface IHTMLStyle5 : IDispatch
2648 {
2649     [propput, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2650     HRESULT msInterpolationMode([in] BSTR v);
2651 
2652     [propget, id(DISPID_IHTMLSTYLE5_MSINTERPOLATIONMODE), displaybind, bindable]
2653     HRESULT msInterpolationMode([out, retval] BSTR *p);
2654 
2655     [propput, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2656     HRESULT maxHeight([in] VARIANT v);
2657 
2658     [propget, id(DISPID_IHTMLSTYLE5_MAXHEIGHT), displaybind, bindable]
2659     HRESULT maxHeight([out, retval] VARIANT *p);
2660 
2661     [propput, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2662     HRESULT minWidth([in] VARIANT v);
2663 
2664     [propget, id(DISPID_IHTMLSTYLE5_MINWIDTH), displaybind, bindable]
2665     HRESULT minWidth([out, retval] VARIANT *p);
2666 
2667     [propput, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2668     HRESULT maxWidth([in] VARIANT v);
2669 
2670     [propget, id(DISPID_IHTMLSTYLE5_MAXWIDTH), displaybind, bindable]
2671     HRESULT maxWidth([out, retval] VARIANT *p);
2672 }
2673 
2674 /*****************************************************************************
2675  *    IHTMLSytyle6 interface
2676  */
2677 [
2678     odl,
2679     oleautomation,
2680     dual,
2681     uuid(30510480-98b5-11cf-bb82-00aa00bdce0b)
2682 ]
2683 interface IHTMLStyle6 : IDispatch
2684 {
2685     [propput, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2686     HRESULT content([in] BSTR v);
2687 
2688     [propget, id(DISPID_IHTMLSTYLE6_CONTENT), displaybind, bindable]
2689     HRESULT content([out, retval] BSTR *p);
2690 
2691     [propput, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2692     HRESULT captionSide([in] BSTR v);
2693 
2694     [propget, id(DISPID_IHTMLSTYLE6_CAPTIONSIDE), displaybind, bindable]
2695     HRESULT captionSide([retval, out] BSTR *p);
2696 
2697     [propput, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2698     HRESULT counterIncrement([in] BSTR v);
2699 
2700     [propget, id(DISPID_IHTMLSTYLE6_COUNTERINCREMENT), displaybind, bindable]
2701     HRESULT counterIncrement([out, retval] BSTR *p);
2702 
2703     [propput, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2704     HRESULT counterReset([in] BSTR v);
2705 
2706     [propget, id(DISPID_IHTMLSTYLE6_COUNTERRESET), displaybind, bindable]
2707     HRESULT counterReset([out, retval] BSTR *p);
2708 
2709     [propput, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2710     HRESULT outline([in] BSTR v);
2711 
2712     [propget, id(DISPID_IHTMLSTYLE6_OUTLINE), displaybind, bindable]
2713     HRESULT outline([out, retval] BSTR *p);
2714 
2715     [propput, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2716     HRESULT outlineWidth([in] VARIANT v);
2717 
2718     [propget, id(DISPID_IHTMLSTYLE6_OUTLINEWIDTH), displaybind, bindable]
2719     HRESULT outlineWidth([out, retval] VARIANT *p);
2720 
2721     [propput, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2722     HRESULT outlineStyle([in] BSTR v);
2723 
2724     [propget, id(DISPID_IHTMLSTYLE6_OUTLINESTYLE), displaybind, bindable]
2725     HRESULT outlineStyle([out, retval] BSTR *p);
2726 
2727     [propput, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2728     HRESULT outlineColor([in] VARIANT v);
2729 
2730     [propget, id(DISPID_IHTMLSTYLE6_OUTLINECOLOR), displaybind, bindable]
2731     HRESULT outlineColor([out, retval] VARIANT *p);
2732 
2733     [propput, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2734     HRESULT boxSizing([in] BSTR v);
2735 
2736     [propget, id(DISPID_IHTMLSTYLE6_BOXSIZING), displaybind, bindable]
2737     HRESULT boxSizing([out, retval] BSTR *p);
2738 
2739     [propput, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2740     HRESULT borderSpacing([in] BSTR v);
2741 
2742     [propget, id(DISPID_IHTMLSTYLE6_BORDERSPACING), displaybind, bindable]
2743     HRESULT borderSpacing([out, retval] BSTR *p);
2744 
2745     [propput, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2746     HRESULT orphans([in] VARIANT v);
2747 
2748     [propget, id(DISPID_IHTMLSTYLE6_ORPHANS), displaybind, bindable]
2749     HRESULT orphans([out, retval] VARIANT *p);
2750 
2751     [propput, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2752     HRESULT widows([in] VARIANT v);
2753 
2754     [propget, id(DISPID_IHTMLSTYLE6_WIDOWS), displaybind, bindable]
2755     HRESULT widows([out, retval] VARIANT *p);
2756 
2757     [propput, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2758     HRESULT pageBreakInside([in] BSTR v);
2759 
2760     [propget, id(DISPID_IHTMLSTYLE6_PAGEBREAKINSIDE), displaybind, bindable]
2761     HRESULT pageBreakInside([out, retval] BSTR *p);
2762 
2763     [propput, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2764     HRESULT emptyCells([in] BSTR v);
2765 
2766     [propget, id(DISPID_IHTMLSTYLE6_EMPTYCELLS), displaybind, bindable]
2767     HRESULT emptyCells([out, retval] BSTR *p);
2768 
2769     [propput, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2770     HRESULT msBlockProgression([in] BSTR v);
2771 
2772     [propget, id(DISPID_IHTMLSTYLE6_MSBLOCKPROGRESSION), displaybind, bindable]
2773     HRESULT msBlockProgression([out, retval] BSTR *p);
2774 
2775     [propput, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2776     HRESULT quotes([in] BSTR v);
2777 
2778     [propget, id(DISPID_IHTMLSTYLE6_QUOTES), displaybind, bindable]
2779     HRESULT quotes([out, retval] BSTR *p);
2780 }
2781 
2782 [
2783     noncreatable,
2784     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2785 ]
2786 coclass HTMLStyle
2787 {
2788     [default] dispinterface DispHTMLStyle;
2789     interface IHTMLStyle;
2790     interface IHTMLStyle2;
2791     interface IHTMLStyle3;
2792     interface IHTMLStyle4;
2793     interface IHTMLStyle5;
2794     interface IHTMLStyle6;
2795 }
2796 
2797 /*****************************************************************************
2798  *    IHTMLRenderStyle interface
2799  */
2800 [
2801     odl,
2802     oleautomation,
2803     dual,
2804     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2805 ]
2806 interface IHTMLRenderStyle : IDispatch
2807 {
2808     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2809     HRESULT textLineThroughStyle([in] BSTR v);
2810 
2811     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2812     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2813 
2814     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2815     HRESULT textUnderlineStyle([in] BSTR v);
2816 
2817     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2818     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2819 
2820     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2821     HRESULT textEffect([in] BSTR v);
2822 
2823     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2824     HRESULT textEffect([retval, out] BSTR *p);
2825 
2826     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2827     HRESULT textColor([in] VARIANT v);
2828 
2829     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2830     HRESULT textColor([retval, out] VARIANT *p);
2831 
2832     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2833     HRESULT textBackgroundColor([in] VARIANT v);
2834 
2835     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2836     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2837 
2838     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2839     HRESULT textDecorationColor([in] VARIANT v);
2840 
2841     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2842     HRESULT textDecorationColor([retval, out] VARIANT *p);
2843 
2844     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2845     HRESULT renderingPriority([in] LONG v);
2846 
2847     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2848     HRESULT renderingPriority([retval, out] LONG *p);
2849 
2850     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2851     HRESULT defaultTextSelection([in] BSTR v);
2852 
2853     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2854     HRESULT defaultTextSelection([retval, out] BSTR *p);
2855 
2856     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2857     HRESULT textDecoration([in] BSTR v);
2858 
2859     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2860     HRESULT textDecoration([retval, out] BSTR *p);
2861 }
2862 
2863 /*****************************************************************************
2864  *    IHTMLCurrentStyle interface
2865  */
2866 [
2867     odl,
2868     oleautomation,
2869     dual,
2870     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2871 ]
2872 interface IHTMLCurrentStyle : IDispatch
2873 {
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2875     HRESULT position([retval, out] BSTR *p);
2876 
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2878     HRESULT styleFloat([retval, out] BSTR *p);
2879 
2880     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2881     HRESULT color([retval, out] VARIANT *p);
2882 
2883     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2884     HRESULT backgroundColor([retval, out] VARIANT *p);
2885 
2886     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2887     HRESULT fontFamily([retval, out] BSTR *p);
2888 
2889     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2890     HRESULT fontStyle([retval, out] BSTR *p);
2891 
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2893     HRESULT fontVariant([retval, out] BSTR *p);
2894 
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2896     HRESULT fontWeight([retval, out] VARIANT *p);
2897 
2898     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2899     HRESULT fontSize([retval, out] VARIANT *p);
2900 
2901     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2902     HRESULT backgroundImage([retval, out] BSTR *p);
2903 
2904     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2905     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2906 
2907     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2908     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2909 
2910     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2911     HRESULT backgroundRepeat([retval, out] BSTR *p);
2912 
2913     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2914     HRESULT borderLeftColor([retval, out] VARIANT *p);
2915 
2916     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2917     HRESULT borderTopColor([retval, out] VARIANT *p);
2918 
2919     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2920     HRESULT borderRightColor([retval, out] VARIANT *p);
2921 
2922     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2923     HRESULT borderBottomColor([retval, out] VARIANT *p);
2924 
2925     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2926     HRESULT borderTopStyle([retval, out] BSTR *p);
2927 
2928     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2929     HRESULT borderRightStyle([retval, out] BSTR *p);
2930 
2931     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2932     HRESULT borderBottomStyle([retval, out] BSTR *p);
2933 
2934     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2935     HRESULT borderLeftStyle([retval, out] BSTR *p);
2936 
2937     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2938     HRESULT borderTopWidth([retval, out] VARIANT *p);
2939 
2940     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2941     HRESULT borderRightWidth([retval, out] VARIANT *p);
2942 
2943     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2944     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2945 
2946     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2947     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2948 
2949     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2950     HRESULT left([retval, out] VARIANT *p);
2951 
2952     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2953     HRESULT top([retval, out] VARIANT *p);
2954 
2955     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2956     HRESULT width([retval, out] VARIANT *p);
2957 
2958     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2959     HRESULT height([retval, out] VARIANT *p);
2960 
2961     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2962     HRESULT paddingLeft([retval, out] VARIANT *p);
2963 
2964     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2965     HRESULT paddingTop([retval, out] VARIANT *p);
2966 
2967     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2968     HRESULT paddingRight([retval, out] VARIANT *p);
2969 
2970     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2971     HRESULT paddingBottom([retval, out] VARIANT *p);
2972 
2973     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2974     HRESULT textAlign([retval, out] BSTR *p);
2975 
2976     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2977     HRESULT textDecoration([retval, out] BSTR *p);
2978 
2979     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2980     HRESULT display([retval, out] BSTR *p);
2981 
2982     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2983     HRESULT visibility([retval, out] BSTR *p);
2984 
2985     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2986     HRESULT zIndex([retval, out] VARIANT *p);
2987 
2988     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2989     HRESULT letterSpacing([retval, out] VARIANT *p);
2990 
2991     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2992     HRESULT lineHeight([retval, out] VARIANT *p);
2993 
2994     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2995     HRESULT textIndent([retval, out] VARIANT *p);
2996 
2997     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2998     HRESULT verticalAlign([retval, out] VARIANT *p);
2999 
3000     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3001     HRESULT backgroundAttachment([retval, out] BSTR *p);
3002 
3003     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3004     HRESULT marginTop([retval, out] VARIANT *p);
3005 
3006     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3007     HRESULT marginRight([retval, out] VARIANT *p);
3008 
3009     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3010     HRESULT marginBottom([retval, out] VARIANT *p);
3011 
3012     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3013     HRESULT marginLeft([retval, out] VARIANT *p);
3014 
3015     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3016     HRESULT clear([retval, out] BSTR *p);
3017 
3018     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3019     HRESULT listStyleType([retval, out] BSTR *p);
3020 
3021     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3022     HRESULT listStylePosition([retval, out] BSTR *p);
3023 
3024     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3025     HRESULT listStyleImage([retval, out] BSTR *p);
3026 
3027     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3028     HRESULT clipTop([retval, out] VARIANT *p);
3029 
3030     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3031     HRESULT clipRight([retval, out] VARIANT *p);
3032 
3033     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3034     HRESULT clipBottom([retval, out] VARIANT *p);
3035 
3036     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3037     HRESULT clipLeft([retval, out] VARIANT *p);
3038 
3039     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3040     HRESULT overflow([retval, out] BSTR *p);
3041 
3042     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3043     HRESULT pageBreakBefore([retval, out] BSTR *p);
3044 
3045     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3046     HRESULT pageBreakAfter([retval, out] BSTR *p);
3047 
3048     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3049     HRESULT cursor([retval, out] BSTR *p);
3050 
3051     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3052     HRESULT tableLayout([retval, out] BSTR *p);
3053 
3054     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3055     HRESULT borderCollapse([retval, out] BSTR *p);
3056 
3057     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3058     HRESULT direction([retval, out] BSTR *p);
3059 
3060     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3061     HRESULT behavior([retval, out] BSTR *p);
3062 
3063     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3064     HRESULT getAttribute(
3065         [in] BSTR strAttributeName,
3066         [defaultvalue(0), in] LONG lFlags,
3067         [retval, out] VARIANT *AttributeValue);
3068 
3069     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3070     HRESULT unicodeBidi([retval, out] BSTR *p);
3071 
3072     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3073     HRESULT right([retval, out] VARIANT *p);
3074 
3075     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3076     HRESULT bottom([retval, out] VARIANT *p);
3077 
3078     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3079     HRESULT imeMode([retval, out] BSTR *p);
3080 
3081     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3082     HRESULT rubyAlign([retval, out] BSTR *p);
3083 
3084     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3085     HRESULT rubyPosition([retval, out] BSTR *p);
3086 
3087     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3088     HRESULT rubyOverhang([retval, out] BSTR *p);
3089 
3090     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3091     HRESULT textAutospace([retval, out] BSTR *p);
3092 
3093     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3094     HRESULT lineBreak([retval, out] BSTR *p);
3095 
3096     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3097     HRESULT wordBreak([retval, out] BSTR *p);
3098 
3099     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3100     HRESULT textJustify([retval, out] BSTR *p);
3101 
3102     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3103     HRESULT textJustifyTrim([retval, out] BSTR *p);
3104 
3105     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3106     HRESULT textKashida([retval, out] VARIANT *p);
3107 
3108     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3109     HRESULT blockDirection([retval, out] BSTR *p);
3110 
3111     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3112     HRESULT layoutGridChar([retval, out] VARIANT *p);
3113 
3114     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3115     HRESULT layoutGridLine([retval, out] VARIANT *p);
3116 
3117     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3118     HRESULT layoutGridMode([retval, out] BSTR *p);
3119 
3120     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3121     HRESULT layoutGridType([retval, out] BSTR *p);
3122 
3123     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3124     HRESULT borderStyle([retval, out] BSTR *p);
3125 
3126     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3127     HRESULT borderColor([retval, out] BSTR *p);
3128 
3129     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3130     HRESULT borderWidth([retval, out] BSTR *p);
3131 
3132     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3133     HRESULT padding([retval, out] BSTR *p);
3134 
3135     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3136     HRESULT margin([retval, out] BSTR *p);
3137 
3138     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3139     HRESULT accelerator([retval, out] BSTR *p);
3140 
3141     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3142     HRESULT overflowX([retval, out] BSTR *p);
3143 
3144     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3145     HRESULT overflowY([retval, out] BSTR *p);
3146 
3147     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3148     HRESULT textTransform([retval, out] BSTR *p);
3149 }
3150 
3151 /*****************************************************************************
3152  *    IHTMLCurrentStyle2 interface
3153  */
3154 [
3155     odl,
3156     oleautomation,
3157     dual,
3158     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
3159 ]
3160 interface IHTMLCurrentStyle2 : IDispatch
3161 {
3162     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3163     HRESULT layoutFlow([retval, out] BSTR * p);
3164 
3165     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3166     HRESULT wordWrap([retval, out] BSTR * p);
3167 
3168     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3169     HRESULT textUnderlinePosition([retval, out] BSTR * p);
3170 
3171     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3172     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
3173 
3174     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3175     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
3176 
3177     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3178     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
3179 
3180     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3181     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
3182 
3183     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3184     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
3185 
3186     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3187     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
3188 
3189     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3190     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
3191 
3192     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3193     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
3194 
3195     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3196     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
3197 
3198     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3199     HRESULT writingMode([retval, out] BSTR * p);
3200 
3201     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3202     HRESULT zoom([retval, out] VARIANT * p);
3203 
3204     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3205     HRESULT filter([retval, out] BSTR * p);
3206 
3207     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3208     HRESULT textAlignLast([retval, out] BSTR * p);
3209 
3210     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3211     HRESULT textKashidaSpace([retval, out] VARIANT * p);
3212 
3213     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3214     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
3215 }
3216 
3217 /*****************************************************************************
3218  *    IHTMLCurrentStyle3 interface
3219  */
3220 [
3221     odl,
3222     oleautomation,
3223     dual,
3224     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
3225 ]
3226 interface IHTMLCurrentStyle3 : IDispatch
3227 {
3228     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3229     HRESULT textOverflow([retval, out] BSTR * p);
3230 
3231     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3232     HRESULT minHeight([retval, out] VARIANT * p);
3233 
3234     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3235     HRESULT wordSpacing([retval, out] VARIANT * p);
3236 
3237     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3238     HRESULT whiteSpace([retval, out] BSTR * p);
3239 }
3240 
3241 /*****************************************************************************
3242  *    IHTMLCurrentStyle4 interface
3243  */
3244 [
3245     odl,
3246     oleautomation,
3247     dual,
3248     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
3249 ]
3250 interface IHTMLCurrentStyle4 : IDispatch
3251 {
3252     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3253     HRESULT msInterpolationMode([retval, out] BSTR * p);
3254 
3255     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3256     HRESULT maxHeight([retval, out] VARIANT * p);
3257 
3258     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3259     HRESULT minWidth([retval, out] VARIANT * p);
3260 
3261     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3262     HRESULT maxWidth([retval, out] VARIANT * p);
3263 }
3264 
3265 /*****************************************************************************
3266  *    DispHTMLCurrentStyle dispinterface
3267  */
3268 [
3269     hidden,
3270     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
3271 ]
3272 dispinterface DispHTMLCurrentStyle
3273 {
3274 properties:
3275 methods:
3276     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
3277     BSTR position();
3278 
3279     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
3280     BSTR styleFloat();
3281 
3282     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
3283     VARIANT color();
3284 
3285     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
3286     VARIANT backgroundColor();
3287 
3288     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
3289     BSTR fontFamily();
3290 
3291     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
3292     BSTR fontStyle();
3293 
3294     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
3295     BSTR fontVariant();
3296 
3297     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
3298     VARIANT fontWeight();
3299 
3300     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
3301     VARIANT fontSize();
3302 
3303     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
3304     BSTR backgroundImage();
3305 
3306     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
3307     VARIANT backgroundPositionX();
3308 
3309     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
3310     VARIANT backgroundPositionY();
3311 
3312     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
3313     BSTR backgroundRepeat();
3314 
3315     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
3316     VARIANT borderLeftColor();
3317 
3318     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
3319     VARIANT borderTopColor();
3320 
3321     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
3322     VARIANT borderRightColor();
3323 
3324     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
3325     VARIANT borderBottomColor();
3326 
3327     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
3328     BSTR borderTopStyle();
3329 
3330     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
3331     BSTR borderRightStyle();
3332 
3333     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
3334     BSTR borderBottomStyle();
3335 
3336     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
3337     BSTR borderLeftStyle();
3338 
3339     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
3340     VARIANT borderTopWidth();
3341 
3342     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
3343     VARIANT borderRightWidth();
3344 
3345     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
3346     VARIANT borderBottomWidth();
3347 
3348     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
3349     VARIANT borderLeftWidth();
3350 
3351     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
3352     VARIANT left();
3353 
3354     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
3355     VARIANT top();
3356 
3357     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
3358     VARIANT width();
3359 
3360     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
3361     VARIANT height();
3362 
3363     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
3364     VARIANT paddingLeft();
3365 
3366     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
3367     VARIANT paddingTop();
3368 
3369     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
3370     VARIANT paddingRight();
3371 
3372     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
3373     VARIANT paddingBottom();
3374 
3375     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
3376     BSTR textAlign();
3377 
3378     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
3379     BSTR textDecoration();
3380 
3381     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
3382     BSTR display();
3383 
3384     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
3385     BSTR visibility();
3386 
3387     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3388     VARIANT zIndex();
3389 
3390     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3391     VARIANT letterSpacing();
3392 
3393     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3394     VARIANT lineHeight();
3395 
3396     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3397     VARIANT textIndent();
3398 
3399     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3400     VARIANT verticalAlign();
3401 
3402     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3403     BSTR backgroundAttachment();
3404 
3405     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3406     VARIANT marginTop();
3407 
3408     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3409     VARIANT marginRight();
3410 
3411     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3412     VARIANT marginBottom();
3413 
3414     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3415     VARIANT marginLeft();
3416 
3417     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3418     BSTR clear();
3419 
3420     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3421     BSTR listStyleType();
3422 
3423     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3424     BSTR listStylePosition();
3425 
3426     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3427     BSTR listStyleImage();
3428 
3429     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3430     VARIANT clipTop();
3431 
3432     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3433     VARIANT clipRight();
3434 
3435     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3436     VARIANT clipBottom();
3437 
3438     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3439     VARIANT clipLeft();
3440 
3441     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3442     BSTR overflow();
3443 
3444     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3445     BSTR pageBreakBefore();
3446 
3447     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3448     BSTR pageBreakAfter();
3449 
3450     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3451     BSTR cursor();
3452 
3453     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3454     BSTR tableLayout();
3455 
3456     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3457     BSTR borderCollapse();
3458 
3459     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3460     BSTR direction();
3461 
3462     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3463     BSTR behavior();
3464 
3465     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3466     VARIANT getAttribute(
3467             [in] BSTR strAttributeName,
3468             [in, defaultvalue(0)] LONG lFlags);
3469 
3470     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3471     BSTR unicodeBidi();
3472 
3473     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3474     VARIANT right();
3475 
3476     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3477     VARIANT bottom();
3478 
3479     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3480     BSTR imeMode();
3481 
3482     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3483     BSTR rubyAlign();
3484 
3485     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3486     BSTR rubyPosition();
3487 
3488     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3489     BSTR rubyOverhang();
3490 
3491     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3492     BSTR textAutospace();
3493 
3494     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3495     BSTR lineBreak();
3496 
3497     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3498     BSTR wordBreak();
3499 
3500     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3501     BSTR textJustify();
3502 
3503     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3504     BSTR textJustifyTrim();
3505 
3506     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3507     VARIANT textKashida();
3508 
3509     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3510     BSTR blockDirection();
3511 
3512     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3513     VARIANT layoutGridChar();
3514 
3515     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3516     VARIANT layoutGridLine();
3517 
3518     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3519     BSTR layoutGridMode();
3520 
3521     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3522     BSTR layoutGridType();
3523 
3524     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3525     BSTR borderStyle();
3526 
3527     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3528     BSTR borderColor();
3529 
3530     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3531     BSTR borderWidth();
3532 
3533     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3534     BSTR padding();
3535 
3536     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3537     BSTR margin();
3538 
3539     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3540     BSTR accelerator();
3541 
3542     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3543     BSTR overflowX();
3544 
3545     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3546     BSTR overflowY();
3547 
3548     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3549     BSTR textTransform();
3550 
3551     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3552     BSTR layoutFlow();
3553 
3554     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3555     BSTR wordWrap();
3556 
3557     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3558     BSTR textUnderlinePosition();
3559 
3560     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3561     VARIANT_BOOL hasLayout();
3562 
3563     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3564     VARIANT scrollbarBaseColor();
3565 
3566     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3567     VARIANT scrollbarFaceColor();
3568 
3569     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3570     VARIANT scrollbar3dLightColor();
3571 
3572     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3573     VARIANT scrollbarShadowColor();
3574 
3575     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3576     VARIANT scrollbarHighlightColor();
3577 
3578     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3579     VARIANT scrollbarDarkShadowColor();
3580 
3581     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3582     VARIANT scrollbarArrowColor();
3583 
3584     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3585     VARIANT scrollbarTrackColor();
3586 
3587     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3588     BSTR writingMode();
3589 
3590     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3591     VARIANT zoom();
3592 
3593     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3594     BSTR filter();
3595 
3596     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3597     BSTR textAlignLast();
3598 
3599     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3600     VARIANT textKashidaSpace();
3601 
3602     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3603     VARIANT_BOOL isBlock();
3604 
3605     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3606     BSTR textOverflow();
3607 
3608     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3609     VARIANT minHeight();
3610 
3611     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3612     VARIANT wordSpacing();
3613 
3614     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3615     BSTR whiteSpace();
3616 
3617     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3618     BSTR msInterpolationMode();
3619 
3620     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3621     VARIANT maxHeight();
3622 
3623     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3624     VARIANT minWidth();
3625 
3626     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3627     VARIANT maxWidth();
3628 }
3629 
3630 [
3631     noncreatable,
3632     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3633 ]
3634 coclass HTMLCurrentStyle
3635 {
3636     [default] dispinterface DispHTMLCurrentStyle;
3637     interface IHTMLCurrentStyle;
3638     interface IHTMLCurrentStyle2;
3639     interface IHTMLCurrentStyle3;
3640     interface IHTMLCurrentStyle4;
3641 }
3642 
3643 /*****************************************************************************
3644  *    IHTMLRect interface
3645  */
3646 [
3647     odl,
3648     oleautomation,
3649     dual,
3650     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3651 ]
3652 interface IHTMLRect : IDispatch
3653 {
3654     [propput, id(DISPID_IHTMLRECT_LEFT)]
3655     HRESULT left([in] LONG v);
3656 
3657     [propget, id(DISPID_IHTMLRECT_LEFT)]
3658     HRESULT left([retval, out] LONG *p);
3659 
3660     [propput, id(DISPID_IHTMLRECT_TOP)]
3661     HRESULT top([in] LONG v);
3662 
3663     [propget, id(DISPID_IHTMLRECT_TOP)]
3664     HRESULT top([retval, out] LONG *p);
3665 
3666     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3667     HRESULT right([in] LONG v);
3668 
3669     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3670     HRESULT right([retval, out] LONG *p);
3671 
3672     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3673     HRESULT bottom([in] LONG v);
3674 
3675     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3676     HRESULT bottom([retval, out] LONG *p);
3677 }
3678 
3679 /*****************************************************************************
3680  *    IHTMLRectCollection interface
3681  */
3682 [
3683     odl,
3684     oleautomation,
3685     dual,
3686     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3687 ]
3688 interface IHTMLRectCollection : IDispatch
3689 {
3690     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3691     HRESULT length([retval, out] LONG *p);
3692 
3693     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3694     HRESULT _newEnum([retval, out] IUnknown **p);
3695 
3696     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3697     HRESULT item(
3698         [in] VARIANT *pvarIndex,
3699         [retval, out] VARIANT *pvarResult);
3700 }
3701 
3702 /*****************************************************************************
3703  *    IHTMLDOMNode interface
3704  */
3705 [
3706     odl,
3707     oleautomation,
3708     dual,
3709     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3710 ]
3711 interface IHTMLDOMNode : IDispatch
3712 {
3713     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3714     HRESULT nodeType([retval, out] LONG *p);
3715 
3716     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3717     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3718 
3719     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3720     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3721 
3722     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3723     HRESULT childNodes([retval, out] IDispatch **p);
3724 
3725     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3726     HRESULT attributes([retval, out] IDispatch **p);
3727 
3728     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3729     HRESULT insertBefore(
3730         [in] IHTMLDOMNode *newChild,
3731         [optional, in] VARIANT refChild,
3732         [retval, out] IHTMLDOMNode **node);
3733 
3734     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3735     HRESULT removeChild(
3736         [in] IHTMLDOMNode *oldChild,
3737         [retval, out] IHTMLDOMNode **node);
3738 
3739     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3740     HRESULT replaceChild(
3741         [in] IHTMLDOMNode *newChild,
3742         [in] IHTMLDOMNode *oldChild,
3743         [retval, out] IHTMLDOMNode **node);
3744 
3745     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3746     HRESULT cloneNode(
3747         [in] VARIANT_BOOL fDeep,
3748         [retval, out] IHTMLDOMNode **clonedNode);
3749 
3750     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3751     HRESULT removeNode(
3752         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3753         [retval, out] IHTMLDOMNode **removed);
3754 
3755     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3756     HRESULT swapNode(
3757         [in] IHTMLDOMNode *otherNode,
3758         [retval, out] IHTMLDOMNode **swappedNode);
3759 
3760     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3761     HRESULT replaceNode(
3762         [in] IHTMLDOMNode *replacement,
3763         [retval, out] IHTMLDOMNode **replaced);
3764 
3765     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3766     HRESULT appendChild(
3767         [in] IHTMLDOMNode *newChild,
3768         [retval, out] IHTMLDOMNode **node);
3769 
3770     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3771     HRESULT nodeName([retval, out] BSTR *p);
3772 
3773     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3774     HRESULT nodeValue([in] VARIANT v);
3775 
3776     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3777     HRESULT nodeValue([retval, out] VARIANT *p);
3778 
3779     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3780     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3781 
3782     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3783     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3784 
3785     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3786     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3787 
3788     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3789     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3790 }
3791 
3792 #define WINE_IHTMLDOMNODE_DISPINTERFACE_DECL                            \
3793     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]                         \
3794     LONG nodeType();                                                    \
3795                                                                         \
3796     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]                       \
3797     IHTMLDOMNode* parentNode();                                         \
3798                                                                         \
3799     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]                             \
3800     VARIANT_BOOL hasChildNodes();                                       \
3801                                                                         \
3802     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]                       \
3803     IDispatch* childNodes();                                            \
3804                                                                         \
3805     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]                       \
3806     IDispatch* attributes();                                            \
3807                                                                         \
3808     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]                              \
3809     IHTMLDOMNode* insertBefore(                                         \
3810             [in] IHTMLDOMNode* newChild,                                \
3811             [optional, in] VARIANT refChild);                           \
3812                                                                         \
3813     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]                               \
3814     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);             \
3815                                                                         \
3816     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]                              \
3817     IHTMLDOMNode* replaceChild(                                         \
3818         [in] IHTMLDOMNode* newChild,                                    \
3819         [in] IHTMLDOMNode* oldChild);                                   \
3820                                                                         \
3821     [id(DISPID_IHTMLDOMNODE_CLONENODE)]                                 \
3822     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);                   \
3823                                                                         \
3824     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]                                \
3825     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep); \
3826                                                                         \
3827     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]                                  \
3828     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);               \
3829                                                                         \
3830     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]                               \
3831     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);          \
3832                                                                         \
3833     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]                               \
3834     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);             \
3835                                                                         \
3836     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]                         \
3837     BSTR nodeName();                                                    \
3838                                                                         \
3839     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3840     void nodeValue(VARIANT v);                                          \
3841                                                                         \
3842     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]                        \
3843     VARIANT nodeValue();                                                \
3844                                                                         \
3845     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]                       \
3846     IHTMLDOMNode* firstChild();                                         \
3847                                                                         \
3848     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]                        \
3849     IHTMLDOMNode* lastChild();                                          \
3850                                                                         \
3851     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]                  \
3852     IHTMLDOMNode* previousSibling();                                    \
3853                                                                         \
3854     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]                      \
3855     IHTMLDOMNode* nextSibling()
3856 
3857 /*****************************************************************************
3858  *    IHTMLDOMNode2 interface
3859  */
3860 [
3861     odl,
3862     oleautomation,
3863     dual,
3864     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3865 ]
3866 interface IHTMLDOMNode2 : IDispatch
3867 {
3868     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3869     HRESULT ownerDocument([retval, out] IDispatch **p);
3870 }
3871 
3872 #define WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL           \
3873     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]   \
3874     IDispatch *ownerDocument()
3875 
3876 #define WINE_HTMLDOMNODE_DISPINTERFACE_DECL     \
3877     WINE_IHTMLDOMNODE_DISPINTERFACE_DECL;       \
3878     WINE_IHTMLDOMNODE2_DISPINTERFACE_DECL
3879 
3880 /*****************************************************************************
3881  *    IHTMLDOMAttribute interface
3882  */
3883 [
3884     odl,
3885     oleautomation,
3886     dual,
3887     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3888 ]
3889 interface IHTMLDOMAttribute : IDispatch
3890 {
3891     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3892     HRESULT nodeName([retval, out] BSTR *p);
3893 
3894     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3895     HRESULT nodeValue([in] VARIANT v);
3896 
3897     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3898     HRESULT nodeValue([retval, out] VARIANT *p);
3899 
3900     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3901     HRESULT specified([retval, out] VARIANT_BOOL *p);
3902 }
3903 
3904 /*****************************************************************************
3905  *    IHTMLDOMAttribute2 interface
3906  */
3907 [
3908     odl,
3909     oleautomation,
3910     dual,
3911     uuid(3050f810-98b5-11cf-bb82-00aa00bdce0b)
3912 ]
3913 interface IHTMLDOMAttribute2 : IDispatch
3914 {
3915     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
3916     HRESULT name([retval, out] BSTR *p);
3917 
3918     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3919     HRESULT value([in] BSTR v);
3920 
3921     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
3922     HRESULT value([retval, out] BSTR *p);
3923 
3924     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
3925     HRESULT expando([retval, out] VARIANT_BOOL *p);
3926 
3927     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
3928     HRESULT nodeType([retval, out] long *p);
3929 
3930     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
3931     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3932 
3933     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
3934     HRESULT childNodes([retval, out] IDispatch **p);
3935 
3936     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
3937     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3938 
3939     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
3940     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3941 
3942     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
3943     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3944 
3945     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
3946     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3947 
3948     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
3949     HRESULT attributes([retval, out] IDispatch **p);
3950 
3951     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
3952     HRESULT ownerDocument([retval, out] IDispatch **p);
3953 
3954     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
3955     HRESULT insertBefore(
3956             [in] IHTMLDOMNode *newChild,
3957             [optional, in] VARIANT refChild,
3958             [retval, out] IHTMLDOMNode **node);
3959 
3960     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
3961     HRESULT replaceChild(
3962             [in] IHTMLDOMNode *newChild,
3963             [in] IHTMLDOMNode *oldChild,
3964             [retval, out] IHTMLDOMNode **node);
3965 
3966     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
3967     HRESULT removeChild(
3968             [in] IHTMLDOMNode *oldChild,
3969             [retval, out] IHTMLDOMNode **node);
3970 
3971     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
3972     HRESULT appendChild(
3973             [in] IHTMLDOMNode *newChild,
3974             [retval, out] IHTMLDOMNode **node);
3975 
3976     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
3977     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3978 
3979     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
3980     HRESULT cloneNode(
3981             [in] VARIANT_BOOL fDeep,
3982             [retval, out] IHTMLDOMAttribute **clonedNode);
3983 }
3984 
3985 /*****************************************************************************
3986  *    IHTMLDOMTextNode interface
3987  */
3988 [
3989     odl,
3990     oleautomation,
3991     dual,
3992     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3993 ]
3994 interface IHTMLDOMTextNode : IDispatch
3995 {
3996     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3997     HRESULT data([in] BSTR v);
3998 
3999     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4000     HRESULT data([out, retval] BSTR *p);
4001 
4002     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4003     HRESULT toString([out, retval] BSTR *String);
4004 
4005     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4006     HRESULT length([out, retval] LONG *p);
4007 
4008     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4009     HRESULT splitText(
4010             [in] LONG offset,
4011             [out, retval] IHTMLDOMNode **pRetNode);
4012 }
4013 
4014 /*****************************************************************************
4015  *    IHTMLDOMTextNode2 interface
4016  */
4017 [
4018     odl,
4019     oleautomation,
4020     dual,
4021     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
4022 ]
4023 interface IHTMLDOMTextNode2 : IDispatch
4024 {
4025     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4026     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
4027 
4028     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4029     HRESULT appendData([in] BSTR bstrstring);
4030 
4031     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4032     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
4033 
4034     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4035     HRESULT deleteData([in] LONG offset,[in] LONG Count);
4036 
4037     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4038     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
4039 }
4040 
4041 [
4042     noncreatable,
4043     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
4044 ]
4045 coclass HTMLDOMTextNode
4046 {
4047     [default]           dispinterface DispHTMLDOMTextNode;
4048                         interface IHTMLDOMTextNode;
4049                         interface IHTMLDOMTextNode2;
4050                         interface IHTMLDOMNode;
4051                         interface IHTMLDOMNode2;
4052 }
4053 
4054 /*****************************************************************************
4055  *    IHTMLDOMImplementation interface
4056  */
4057 [
4058     odl,
4059     oleautomation,
4060     dual,
4061     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
4062 ]
4063 interface IHTMLDOMImplementation : IDispatch
4064 {
4065     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
4066     HRESULT hasFeature(
4067         [in] BSTR bstrfeature,
4068         [optional, in] VARIANT version,
4069         [retval, out] VARIANT_BOOL *pfHasFeature);
4070 }
4071 
4072 /*****************************************************************************
4073  *    DispHTMLDOMAttribute dispinterface
4074  */
4075 [
4076     hidden,
4077     uuid(3050f564-98b5-11cf-bb82-00aa00bdce0b)
4078 ]
4079 dispinterface DispHTMLDOMAttribute
4080 {
4081  properties:
4082     methods:
4083     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
4084     BSTR nodeName();
4085 
4086     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
4087     void nodeValue(VARIANT v);
4088 
4089     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
4090     VARIANT nodeValue();
4091 
4092     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
4093     VARIANT_BOOL specified();
4094 
4095     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NAME)]
4096     BSTR name();
4097 
4098     [propput, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
4099     void value(BSTR v);
4100 
4101     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_VALUE)]
4102     BSTR value();
4103 
4104     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_EXPANDO)]
4105     VARIANT_BOOL expando();
4106 
4107     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NODETYPE)]
4108     long nodeType();
4109 
4110     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PARENTNODE)]
4111     IHTMLDOMNode *parentNode();
4112 
4113     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_CHILDNODES)]
4114     IDispatch *childNodes();
4115 
4116     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_FIRSTCHILD)]
4117     IHTMLDOMNode *firstChild();
4118 
4119     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_LASTCHILD)]
4120     IHTMLDOMNode *lastChild();
4121 
4122     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_PREVIOUSSIBLING)]
4123     IHTMLDOMNode *previousSibling();
4124 
4125     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_NEXTSIBLING)]
4126     IHTMLDOMNode *nextSibling();
4127 
4128     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_ATTRIBUTES)]
4129     IDispatch *attributes();
4130 
4131     [propget, id(DISPID_IHTMLDOMATTRIBUTE2_OWNERDOCUMENT)]
4132     IDispatch *ownerDocument();
4133 
4134     [id(DISPID_IHTMLDOMATTRIBUTE2_INSERTBEFORE)]
4135     IHTMLDOMNode *insertBefore(
4136             [in] IHTMLDOMNode *newChild,
4137             [optional, in] VARIANT refChild);
4138 
4139     [id(DISPID_IHTMLDOMATTRIBUTE2_REPLACECHILD)]
4140     IHTMLDOMNode *replaceChild(
4141             [in] IHTMLDOMNode *newChild,
4142             [in] IHTMLDOMNode *oldChild);
4143 
4144     [id(DISPID_IHTMLDOMATTRIBUTE2_REMOVECHILD)]
4145     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4146 
4147     [id(DISPID_IHTMLDOMATTRIBUTE2_APPENDCHILD)]
4148     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4149 
4150     [id(DISPID_IHTMLDOMATTRIBUTE2_HASCHILDNODES)]
4151     VARIANT_BOOL hasChildNodes();
4152 
4153     [id(DISPID_IHTMLDOMATTRIBUTE2_CLONENODE)]
4154     IHTMLDOMAttribute *cloneNode([in] VARIANT_BOOL fDeep);
4155 
4156     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4157     void ie8_nodeValue(VARIANT v);
4158 
4159     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_NODEVALUE)]
4160     VARIANT ie8_nodeValue();
4161 
4162     [propput, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4163     void ie8_value(BSTR v);
4164 
4165     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_VALUE)]
4166     BSTR ie8_value();
4167 
4168     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_IE8_SPECIFIED)]
4169     VARIANT_BOOL ie8_specified();
4170 
4171     [propget, id(DISPID_IHTMLDOMATTRIBUTE3_OWNERELEMENT)]
4172     IHTMLElement2 *ownerElement();
4173 
4174     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
4175 }
4176 
4177 /*****************************************************************************
4178  *    IHTMLDocumentCompatibleInfo interface
4179  */
4180 [
4181     odl,
4182     oleautomation,
4183     dual,
4184     uuid(3051041a-98b5-11cf-bb82-00aa00bdce0b)
4185 ]
4186 interface IHTMLDocumentCompatibleInfo : IDispatch
4187 {
4188     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_USERAGENT)]
4189     HRESULT userAgent([retval, out] BSTR *p);
4190 
4191     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFO_VERSION)]
4192     HRESULT version([retval, out] BSTR *p);
4193 }
4194 
4195 /*****************************************************************************
4196  *    IHTMLDocumentCompatibleInfoCollection interface
4197  */
4198 [
4199     odl,
4200     oleautomation,
4201     dual,
4202     uuid(30510418-98b5-11cf-bb82-00aa00bdce0b)
4203 ]
4204 interface IHTMLDocumentCompatibleInfoCollection : IDispatch
4205 {
4206     [propget, id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_LENGTH)]
4207     HRESULT length([retval, out] long *p);
4208 
4209     [id(DISPID_IHTMLDOCUMENTCOMPATIBLEINFOCOLLECTION_ITEM)]
4210     HRESULT item([in] long i, [retval, out]IHTMLDocumentCompatibleInfo **p);
4211 }
4212 
4213 /*****************************************************************************
4214  *    DispHTMLDOMTextNode dispinterface
4215  */
4216 [
4217     hidden,
4218     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
4219 ]
4220 dispinterface DispHTMLDOMTextNode
4221 {
4222 properties:
4223 methods:
4224     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4225     void data(BSTR v);
4226 
4227     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
4228     BSTR data();
4229 
4230     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
4231     BSTR toString();
4232 
4233     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
4234     LONG length();
4235 
4236     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
4237     IHTMLDOMNode *splitText([in] LONG offset);
4238 
4239     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
4240     BSTR substringData(
4241             [in] LONG offset,
4242             [in] LONG Count);
4243 
4244     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
4245     void appendData([in] BSTR bstrstring);
4246 
4247     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
4248     void insertData(
4249             [in] LONG offset,
4250             [in] BSTR bstrstring);
4251 
4252     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
4253     void deleteData(
4254             [in] LONG offset,
4255             [in] LONG Count);
4256 
4257     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
4258     void replaceData(
4259             [in] LONG offset,
4260             [in] LONG Count,
4261             [in] BSTR bstrstring);
4262 
4263     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;
4264 }
4265 
4266 /*****************************************************************************
4267  *    IHTMLAttributeCollection interface
4268  */
4269 [
4270     odl,
4271     oleautomation,
4272     dual,
4273     uuid(3050f4c3-98b5-11cf-bb82-00aa00bdce0b)
4274 ]
4275 interface IHTMLAttributeCollection : IDispatch
4276 {
4277     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4278     HRESULT length(
4279             [retval, out] long *p);
4280 
4281     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4282     HRESULT _newEnum(
4283             [retval, out] IUnknown **p);
4284 
4285     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4286     HRESULT item(
4287             [optional, in] VARIANT *name,
4288             [retval, out] IDispatch **pdisp);
4289 }
4290 
4291 /*****************************************************************************
4292  *    IHTMLAttributeCollection2 interface
4293  */
4294 [
4295     odl,
4296     oleautomation,
4297     dual,
4298     uuid(3050f80a-98b5-11cf-bb82-00aa00bdce0b)
4299     ]
4300 interface IHTMLAttributeCollection2 : IDispatch
4301 {
4302     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4303     HRESULT getNamedItem(
4304             [in] BSTR bstrName,
4305             [retval, out] IHTMLDOMAttribute **newretNode);
4306 
4307     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4308     HRESULT setNamedItem(
4309             [in] IHTMLDOMAttribute *ppNode,
4310             [retval, out] IHTMLDOMAttribute **newretNode);
4311 
4312     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4313     HRESULT removeNamedItem(
4314             [in] BSTR bstrName,
4315             [retval, out] IHTMLDOMAttribute **newretNode);
4316 }
4317 
4318 /*****************************************************************************
4319  *    IHTMLAttributeCollection3 interface
4320  */
4321 [
4322     odl,
4323     oleautomation,
4324     dual,
4325     uuid(30510469-98b5-11cf-bb82-00aa00bdce0b)
4326 ]
4327 interface IHTMLAttributeCollection3 : IDispatch
4328 {
4329     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4330     HRESULT getNamedItem(
4331             [in] BSTR bstrName,
4332             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4333 
4334     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4335     HRESULT setNamedItem(
4336             [in] IHTMLDOMAttribute *pNodeIn,
4337             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4338 
4339     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4340     HRESULT removeNamedItem(
4341             [in] BSTR bstrName,
4342             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4343 
4344     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4345     HRESULT item(
4346             [in] long index,
4347             [retval, out] IHTMLDOMAttribute **ppNodeOut);
4348 
4349     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4350     HRESULT length([retval, out] long *p);
4351 }
4352 
4353 /*****************************************************************************
4354  *    DispHTMLAttributeCollection dispinterface
4355  */
4356 [
4357     hidden,
4358     uuid(3050f56c-98b5-11cf-bb82-00aa00bdce0b)
4359 ]
4360 dispinterface DispHTMLAttributeCollection
4361 {
4362 properties:
4363 methods:
4364     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION_LENGTH)]
4365     long length();
4366 
4367     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION__NEWENUM), hidden, restricted]
4368     IUnknown *_newEnum();
4369 
4370     [id(DISPID_IHTMLATTRIBUTECOLLECTION_ITEM)]
4371     IDispatch *item([optional, in] VARIANT *name);
4372 
4373     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_GETNAMEDITEM)]
4374     IHTMLDOMAttribute *getNamedItem([in] BSTR bstrName);
4375 
4376     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_SETNAMEDITEM)]
4377     IHTMLDOMAttribute *setNamedItem([in] IHTMLDOMAttribute *ppNode);
4378 
4379     [id(DISPID_IHTMLATTRIBUTECOLLECTION2_REMOVENAMEDITEM)]
4380     IHTMLDOMAttribute *removeNamedItem([in] BSTR bstrName);
4381 
4382     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_GETNAMEDITEM)]
4383     IHTMLDOMAttribute *ie8_getNamedItem([in] BSTR bstrName);
4384 
4385     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_SETNAMEDITEM)]
4386     IHTMLDOMAttribute *ie8_setNamedItem([in] IHTMLDOMAttribute *pNodeIn);
4387 
4388     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_REMOVENAMEDITEM)]
4389     IHTMLDOMAttribute *ie8_removeNamedItem([in] BSTR bstrName);
4390 
4391     [id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_ITEM)]
4392     IHTMLDOMAttribute *ie8_item([in] long index);
4393 
4394     [propget, id(DISPID_IHTMLATTRIBUTECOLLECTION3_IE8_LENGTH)]
4395     long ie8_length();
4396 
4397     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
4398     IDispatch *constructor();
4399 }
4400 
4401 /*****************************************************************************
4402  *    IHTMLDOMChildrenCollection interface
4403  */
4404 [
4405     odl,
4406     oleautomation,
4407     dual,
4408     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
4409 ]
4410 interface IHTMLDOMChildrenCollection : IDispatch
4411 {
4412     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4413     HRESULT length([out, retval] LONG *p);
4414 
4415     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4416     HRESULT _newEnum([out, retval] IUnknown **p);
4417 
4418     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4419     HRESULT item(
4420             [in] LONG index,
4421             [out, retval] IDispatch **ppItem);
4422 }
4423 
4424 /*****************************************************************************
4425  *    DispDOMChildrenCollection dispinterface
4426  */
4427 [
4428     hidden,
4429     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
4430 ]
4431 dispinterface DispDOMChildrenCollection
4432 {
4433 properties:
4434 methods:
4435     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
4436     LONG length();
4437 
4438     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
4439     IUnknown *_newEnum();
4440 
4441     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
4442     IDispatch *item([in] LONG index);
4443 }
4444 
4445 interface IHTMLElementCollection;
4446 
4447 /*****************************************************************************
4448  *    IHTMLElement interface
4449  */
4450 [
4451     odl,
4452     dual,
4453     oleautomation,
4454     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
4455 ]
4456 interface IHTMLElement : IDispatch
4457 {
4458     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4459     HRESULT setAttribute(
4460         [in] BSTR strAttributeName,
4461         [in] VARIANT AttributeValue,
4462         [defaultvalue(1), in] LONG lFlags);
4463 
4464     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4465     HRESULT getAttribute(
4466         [in] BSTR strAttributeName,
4467         [defaultvalue(0), in] LONG lFlags,
4468         [retval, out] VARIANT *AttributeValue);
4469 
4470     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4471     HRESULT removeAttribute(
4472         [in] BSTR strAttributeName,
4473         [defaultvalue(1), in] LONG lFlags,
4474         [retval, out] VARIANT_BOOL *pfSuccess);
4475 
4476     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4477     HRESULT className([in] BSTR v);
4478 
4479     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
4480     HRESULT className([retval, out] BSTR *p);
4481 
4482     [propput, id(DISPID_IHTMLELEMENT_ID)]
4483     HRESULT id([in] BSTR v);
4484 
4485     [propget, id(DISPID_IHTMLELEMENT_ID)]
4486     HRESULT id([retval, out] BSTR *p);
4487 
4488     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4489     HRESULT tagName([retval, out] BSTR *p);
4490 
4491     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4492     HRESULT parentElement([retval, out] IHTMLElement **p);
4493 
4494     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
4495     HRESULT style([retval, out] IHTMLStyle **p);
4496 
4497     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
4498     HRESULT onhelp([in] VARIANT v);
4499 
4500     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
4501     HRESULT onhelp([retval, out] VARIANT *p);
4502 
4503     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
4504     HRESULT onclick([in] VARIANT v);
4505 
4506     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
4507     HRESULT onclick([retval, out] VARIANT *p);
4508 
4509     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4510     HRESULT ondblclick([in] VARIANT v);
4511 
4512     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
4513     HRESULT ondblclick([retval, out] VARIANT *p);
4514 
4515     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4516     HRESULT onkeydown([in] VARIANT v);
4517 
4518     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
4519     HRESULT onkeydown([retval, out] VARIANT *p);
4520 
4521     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4522     HRESULT onkeyup([in] VARIANT v);
4523 
4524     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
4525     HRESULT onkeyup([retval, out] VARIANT *p);
4526 
4527     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4528     HRESULT onkeypress([in] VARIANT v);
4529 
4530     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
4531     HRESULT onkeypress([retval, out] VARIANT *p);
4532 
4533     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4534     HRESULT onmouseout([in] VARIANT v);
4535 
4536     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
4537     HRESULT onmouseout([retval, out] VARIANT *p);
4538 
4539     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4540     HRESULT onmouseover([in] VARIANT v);
4541 
4542     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
4543     HRESULT onmouseover([retval, out] VARIANT *p);
4544 
4545     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4546     HRESULT onmousemove([in] VARIANT v);
4547 
4548     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
4549     HRESULT onmousemove([retval, out] VARIANT *p);
4550 
4551     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4552     HRESULT onmousedown([in] VARIANT v);
4553 
4554     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
4555     HRESULT onmousedown([retval, out] VARIANT *p);
4556 
4557     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4558     HRESULT onmouseup([in] VARIANT v);
4559 
4560     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
4561     HRESULT onmouseup([retval, out] VARIANT *p);
4562 
4563     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4564     HRESULT document([retval, out] IDispatch **p);
4565 
4566     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
4567     HRESULT title([in] BSTR v);
4568 
4569     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
4570     HRESULT title([retval, out] BSTR *p);
4571 
4572     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4573     HRESULT language([in] BSTR v);
4574 
4575     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
4576     HRESULT language([retval, out] BSTR *p);
4577 
4578     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4579     HRESULT onselectstart([in] VARIANT v);
4580 
4581     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
4582     HRESULT onselectstart([retval, out] VARIANT *p);
4583 
4584     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4585     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
4586 
4587     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4588     HRESULT contains(
4589         [in] IHTMLElement *pChild,
4590         [retval, out] VARIANT_BOOL *pfResult);
4591 
4592     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
4593     HRESULT sourceIndex([retval, out] LONG *p);
4594 
4595     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4596     HRESULT recordNumber([retval, out] VARIANT *p);
4597 
4598     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4599     HRESULT lang([in] BSTR v);
4600 
4601     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4602     HRESULT lang([retval, out] BSTR *p);
4603 
4604     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4605     HRESULT offsetLeft([retval, out] LONG *p);
4606 
4607     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4608     HRESULT offsetTop([retval, out] LONG *p);
4609 
4610     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4611     HRESULT offsetWidth([retval, out] LONG *p);
4612 
4613     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4614     HRESULT offsetHeight([retval, out] LONG *p);
4615 
4616     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4617     HRESULT offsetParent([retval, out] IHTMLElement **p);
4618 
4619     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4620     HRESULT innerHTML([in] BSTR v);
4621 
4622     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4623     HRESULT innerHTML([retval, out] BSTR *p);
4624 
4625     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4626     HRESULT innerText([in] BSTR v);
4627 
4628     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4629     HRESULT innerText([retval, out] BSTR *p);
4630 
4631     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4632     HRESULT outerHTML([in] BSTR v);
4633 
4634     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4635     HRESULT outerHTML([retval, out] BSTR *p);
4636 
4637     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4638     HRESULT outerText([in] BSTR v);
4639 
4640     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4641     HRESULT outerText([retval, out] BSTR *p);
4642 
4643     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4644     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
4645 
4646     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4647     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
4648 
4649     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4650     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
4651 
4652     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4653     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
4654 
4655     [id(DISPID_IHTMLELEMENT_CLICK)]
4656     HRESULT click();
4657 
4658     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4659     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
4660 
4661     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4662     HRESULT ondragstart([in] VARIANT v);
4663 
4664     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
4665     HRESULT ondragstart([retval, out] VARIANT *p);
4666 
4667     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4668     HRESULT toString([retval, out] BSTR *String);
4669 
4670     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4671     HRESULT onbeforeupdate([in] VARIANT v);
4672 
4673     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
4674     HRESULT onbeforeupdate([retval, out] VARIANT *p);
4675 
4676     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4677     HRESULT onafterupdate([in] VARIANT v);
4678 
4679     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
4680     HRESULT onafterupdate([retval, out] VARIANT *p);
4681 
4682     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4683     HRESULT onerrorupdate([in] VARIANT v);
4684 
4685     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
4686     HRESULT onerrorupdate([retval, out] VARIANT *p);
4687 
4688     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4689     HRESULT onrowexit([in] VARIANT v);
4690 
4691     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
4692     HRESULT onrowexit([retval, out] VARIANT *p);
4693 
4694     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4695     HRESULT onrowenter([in] VARIANT v);
4696 
4697     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
4698     HRESULT onrowenter([retval, out] VARIANT *p);
4699 
4700     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4701     HRESULT ondatasetchanged([in] VARIANT v);
4702 
4703     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
4704     HRESULT ondatasetchanged([retval, out] VARIANT *p);
4705 
4706     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4707     HRESULT ondataavailable([in] VARIANT v);
4708 
4709     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
4710     HRESULT ondataavailable([retval, out] VARIANT *p);
4711 
4712     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4713     HRESULT ondatasetcomplete([in] VARIANT v);
4714 
4715     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
4716     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
4717 
4718     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4719     HRESULT onfilterchange([in] VARIANT v);
4720 
4721     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
4722     HRESULT onfilterchange([retval, out] VARIANT *p);
4723 
4724     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4725     HRESULT children([retval, out] IDispatch **p);
4726 
4727     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4728     HRESULT all([retval, out] IDispatch **p);
4729 }
4730 
4731 #define WINE_IHTMLELEMENT_DISPINTERFACE_DECL                            \
4732     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]                              \
4733     void setAttribute(                                                  \
4734         [in] BSTR strAttributeName,                                     \
4735         [in] VARIANT AttValue,                                          \
4736         [defaultvalue(1), in] LONG lFlags);                             \
4737                                                                         \
4738     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]                              \
4739     VARIANT getAttribute(                                               \
4740         [in] BSTR strAttributeName,                                     \
4741         [defaultvalue(0), in] LONG lFlags);                             \
4742                                                                         \
4743     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]                           \
4744     VARIANT_BOOL removeAttribute(                                       \
4745         [in] BSTR strAttributeName,                                     \
4746         [defaultvalue(1), in] LONG lFlags);                             \
4747                                                                         \
4748     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4749     void className(BSTR v);                                             \
4750                                                                         \
4751     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]              \
4752     BSTR className();                                                   \
4753                                                                         \
4754     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4755     void id(BSTR v);                                                    \
4756                                                                         \
4757     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]                     \
4758     BSTR id();                                                          \
4759                                                                         \
4760     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]                          \
4761     BSTR tagName();                                                     \
4762                                                                         \
4763     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]                    \
4764     IHTMLElement *parentElement();                                      \
4765                                                                         \
4766     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]              \
4767     IHTMLStyle *style();                                                \
4768                                                                         \
4769     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4770     void onhelp(VARIANT v);                                             \
4771                                                                         \
4772     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]    \
4773     VARIANT onhelp();                                                   \
4774                                                                         \
4775     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4776     void onclick(VARIANT v);                                            \
4777                                                                         \
4778     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]   \
4779     VARIANT onclick();                                                  \
4780                                                                         \
4781     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4782     void ondblclick(VARIANT v);                                         \
4783                                                                         \
4784     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]\
4785     VARIANT ondblclick();                                               \
4786                                                                         \
4787     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4788     void onkeydown(VARIANT v);                                          \
4789                                                                         \
4790     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable] \
4791     VARIANT onkeydown();                                                \
4792                                                                         \
4793     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4794     void onkeyup(VARIANT v);                                            \
4795                                                                         \
4796     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]   \
4797     VARIANT onkeyup();                                                  \
4798                                                                         \
4799     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4800     void onkeypress(VARIANT v);                                         \
4801                                                                         \
4802     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]\
4803     VARIANT onkeypress();                                               \
4804                                                                         \
4805     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4806     void onmouseout(VARIANT v);                                         \
4807                                                                         \
4808     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]\
4809     VARIANT onmouseout();                                               \
4810                                                                         \
4811     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4812     void onmouseover(VARIANT v);                                        \
4813                                                                         \
4814     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable] \
4815     VARIANT onmouseover();                                              \
4816                                                                         \
4817     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4818     void onmousemove(VARIANT v);                                        \
4819                                                                         \
4820     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable] \
4821     VARIANT onmousemove();                                              \
4822                                                                         \
4823     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4824     void onmousedown(VARIANT v);                                        \
4825                                                                         \
4826     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable] \
4827     VARIANT onmousedown();                                              \
4828                                                                         \
4829     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4830     void onmouseup(VARIANT v);                                          \
4831                                                                         \
4832     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable] \
4833     VARIANT onmouseup();                                                \
4834                                                                         \
4835     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();  \
4836                                                                         \
4837     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4838     void title(BSTR v);                                                 \
4839                                                                         \
4840     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]     \
4841     BSTR title();                                                       \
4842                                                                         \
4843     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4844     void language(BSTR v);                                              \
4845                                                                         \
4846     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]  \
4847     BSTR language();                                                    \
4848                                                                         \
4849     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4850     void onselectstart(VARIANT v);                                      \
4851                                                                         \
4852     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable] \
4853     VARIANT onselectstart();                                            \
4854                                                                         \
4855     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]                            \
4856     void scrollIntoView([optional, in] VARIANT varargStart);            \
4857                                                                         \
4858     [id(DISPID_IHTMLELEMENT_CONTAINS)]                                  \
4859     VARIANT_BOOL contains([in] IHTMLElement* pChild);                   \
4860                                                                         \
4861     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]            \
4862     LONG sourceIndex();                                                 \
4863                                                                         \
4864     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]                     \
4865     VARIANT recordNumber();                                             \
4866                                                                         \
4867     [propput, id(DISPID_IHTMLELEMENT_LANG)]                             \
4868     void lang(BSTR v);                                                  \
4869                                                                         \
4870     [propget, id(DISPID_IHTMLELEMENT_LANG)]                             \
4871     BSTR lang();                                                        \
4872                                                                         \
4873     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]                       \
4874     LONG offsetLeft();                                                  \
4875                                                                         \
4876     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]                        \
4877     LONG offsetTop();                                                   \
4878                                                                         \
4879     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]                      \
4880     LONG offsetWidth();                                                 \
4881                                                                         \
4882     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]                     \
4883     LONG offsetHeight();                                                \
4884                                                                         \
4885     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]                     \
4886     IHTMLElement* offsetParent();                                       \
4887                                                                         \
4888     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4889     void innerHTML(BSTR v);                                             \
4890                                                                         \
4891     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]                        \
4892     BSTR innerHTML();                                                   \
4893                                                                         \
4894     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4895     void innerText(BSTR v);                                             \
4896                                                                         \
4897     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]                        \
4898     BSTR innerText();                                                   \
4899                                                                         \
4900     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4901     void outerHTML(BSTR v);                                             \
4902                                                                         \
4903     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]                        \
4904     BSTR outerHTML();                                                   \
4905                                                                         \
4906     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4907     void outerText(BSTR v);                                             \
4908                                                                         \
4909     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]                        \
4910     BSTR outerText();                                                   \
4911                                                                         \
4912     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]                        \
4913     void insertAdjacentHTML(                                            \
4914         [in] BSTR where,                                                \
4915         [in] BSTR html);                                                \
4916                                                                         \
4917     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]                        \
4918     void insertAdjacentText(                                            \
4919         [in] BSTR where,                                                \
4920         [in] BSTR text);                                                \
4921                                                                         \
4922     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]                   \
4923     IHTMLElement* parentTextEdit();                                     \
4924                                                                         \
4925     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]                       \
4926     VARIANT_BOOL isTextEdit();                                          \
4927                                                                         \
4928     [id(DISPID_IHTMLELEMENT_CLICK)]                                     \
4929     void click();                                                       \
4930                                                                         \
4931     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]                          \
4932     IHTMLFiltersCollection* filters();                                  \
4933                                                                         \
4934     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4935     void ondragstart(VARIANT v);                                        \
4936                                                                         \
4937     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable] \
4938     VARIANT ondragstart();                                              \
4939                                                                         \
4940     [id(DISPID_IHTMLELEMENT_TOSTRING)]                                  \
4941     BSTR toString();                                                    \
4942                                                                         \
4943     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4944     void onbeforeupdate(VARIANT v);                                     \
4945                                                                         \
4946     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable] \
4947     VARIANT onbeforeupdate();                                           \
4948                                                                         \
4949     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4950     void onafterupdate(VARIANT v);                                      \
4951                                                                         \
4952     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable] \
4953     VARIANT onafterupdate();                                            \
4954                                                                         \
4955     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4956     void onerrorupdate(VARIANT v);                                      \
4957                                                                         \
4958     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable] \
4959     VARIANT onerrorupdate();                                            \
4960                                                                         \
4961     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4962     void onrowexit(VARIANT v);                                          \
4963                                                                         \
4964     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable] \
4965     VARIANT onrowexit();                                                \
4966                                                                         \
4967     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4968     void onrowenter(VARIANT v);                                         \
4969                                                                         \
4970     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable] \
4971     VARIANT onrowenter();                                               \
4972                                                                         \
4973     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4974     void ondatasetchanged(VARIANT v);                                   \
4975                                                                         \
4976     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable] \
4977     VARIANT ondatasetchanged();                                         \
4978                                                                         \
4979     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4980     void ondataavailable(VARIANT v);                                    \
4981                                                                         \
4982     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable] \
4983     VARIANT ondataavailable();                                          \
4984                                                                         \
4985     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4986     void ondatasetcomplete(VARIANT v);                                  \
4987                                                                         \
4988     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable] \
4989     VARIANT ondatasetcomplete();                                        \
4990                                                                         \
4991     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4992     void onfilterchange(VARIANT v);                                     \
4993                                                                         \
4994     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable] \
4995     VARIANT onfilterchange();                                           \
4996                                                                         \
4997     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]                         \
4998     IDispatch* children();                                              \
4999                                                                         \
5000     [propget, id(DISPID_IHTMLELEMENT_ALL)]                              \
5001     IDispatch* all()
5002 
5003 /*****************************************************************************
5004  *    IHTMLElement2 interface
5005  */
5006 [
5007     odl,
5008     oleautomation,
5009     dual,
5010     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
5011 ]
5012 interface IHTMLElement2 : IDispatch
5013 {
5014     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5015     HRESULT scopeName([retval, out] BSTR *p);
5016 
5017     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5018     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
5019 
5020     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5021     HRESULT releaseCapture();
5022 
5023     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5024     HRESULT onlosecapture([in] VARIANT v);
5025 
5026     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5027     HRESULT onlosecapture([retval, out] VARIANT *p);
5028 
5029     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5030     HRESULT componentFromPoint(
5031         [in] LONG x,
5032         [in] LONG y,
5033         [retval, out] BSTR *component);
5034 
5035     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5036     HRESULT doScroll([optional, in] VARIANT component);
5037 
5038     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5039     HRESULT onscroll([in] VARIANT v);
5040 
5041     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5042     HRESULT onscroll([retval, out] VARIANT *p);
5043 
5044     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5045     HRESULT ondrag([in] VARIANT v);
5046 
5047     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5048     HRESULT ondrag([retval, out] VARIANT *p);
5049 
5050     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5051     HRESULT ondragend([in] VARIANT v);
5052 
5053     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5054     HRESULT ondragend([retval, out] VARIANT *p);
5055 
5056     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5057     HRESULT ondragenter([in] VARIANT v);
5058 
5059     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5060     HRESULT ondragenter([retval, out] VARIANT *p);
5061 
5062     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5063     HRESULT ondragover([in] VARIANT v);
5064 
5065     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5066     HRESULT ondragover([retval, out] VARIANT *p);
5067 
5068     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5069     HRESULT ondragleave([in] VARIANT v);
5070 
5071     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5072     HRESULT ondragleave([retval, out] VARIANT *p);
5073 
5074     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5075     HRESULT ondrop([in] VARIANT v);
5076 
5077     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5078     HRESULT ondrop([retval, out] VARIANT *p);
5079 
5080     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5081     HRESULT onbeforecut([in] VARIANT v);
5082 
5083     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5084     HRESULT onbeforecut([retval, out] VARIANT *p);
5085 
5086     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5087     HRESULT oncut([in] VARIANT v);
5088 
5089     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5090     HRESULT oncut([retval, out] VARIANT *p);
5091 
5092     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5093     HRESULT onbeforecopy([in] VARIANT v);
5094 
5095     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5096     HRESULT onbeforecopy([retval, out] VARIANT *p);
5097 
5098     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5099     HRESULT oncopy([in] VARIANT v);
5100 
5101     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5102     HRESULT oncopy([retval, out] VARIANT *p);
5103 
5104     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5105     HRESULT onbeforepaste([in] VARIANT v);
5106 
5107     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5108     HRESULT onbeforepaste([retval, out] VARIANT *p);
5109 
5110     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5111     HRESULT onpaste([in] VARIANT v);
5112 
5113     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5114     HRESULT onpaste([retval, out] VARIANT *p);
5115 
5116     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5117     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
5118 
5119     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5120     HRESULT onpropertychange([in] VARIANT v);
5121 
5122     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5123     HRESULT onpropertychange([retval, out] VARIANT *p);
5124 
5125     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5126     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
5127 
5128     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5129     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
5130 
5131     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5132     HRESULT setExpression(
5133         [in] BSTR propname,
5134         [in] BSTR expression,
5135         [defaultvalue(""), in] BSTR language);
5136 
5137     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5138     HRESULT getExpression(
5139         [in] BSTR propname,
5140         [retval, out] VARIANT *expression);
5141 
5142     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5143     HRESULT removeExpression(
5144         [in] BSTR propname,
5145         [retval, out] VARIANT_BOOL *pfSuccess);
5146 
5147     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5148     HRESULT tabIndex([in] short v);
5149 
5150     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5151     HRESULT tabIndex([retval, out] short *p);
5152 
5153     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5154     HRESULT focus();
5155 
5156     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5157     HRESULT accessKey([in] BSTR v);
5158 
5159     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5160     HRESULT accessKey([retval, out] BSTR *p);
5161 
5162     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5163     HRESULT onblur([in] VARIANT v);
5164 
5165     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5166     HRESULT onblur([retval, out] VARIANT *p);
5167 
5168     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5169     HRESULT onfocus([in] VARIANT v);
5170 
5171     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5172     HRESULT onfocus([retval, out] VARIANT *p);
5173 
5174     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5175     HRESULT onresize([in] VARIANT v);
5176 
5177     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5178     HRESULT onresize([retval, out] VARIANT *p);
5179 
5180     [id(DISPID_IHTMLELEMENT2_BLUR)]
5181     HRESULT blur();
5182 
5183     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5184     HRESULT addFilter([in] IUnknown *pUnk);
5185 
5186     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5187     HRESULT removeFilter([in] IUnknown *pUnk);
5188 
5189     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5190     HRESULT clientHeight([retval, out] LONG *p);
5191 
5192     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5193     HRESULT clientWidth([retval, out] LONG *p);
5194 
5195     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5196     HRESULT clientTop([retval, out] LONG *p);
5197 
5198     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5199     HRESULT clientLeft([retval, out] LONG *p);
5200 
5201     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5202     HRESULT attachEvent(
5203         [in] BSTR event,
5204         [in] IDispatch *pDisp,
5205         [retval, out] VARIANT_BOOL *pfResult);
5206 
5207     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5208     HRESULT detachEvent(
5209         [in] BSTR event,
5210         [in] IDispatch *pDisp);
5211 
5212     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5213     HRESULT readyState([retval, out] VARIANT *p);
5214 
5215     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5216     HRESULT onreadystatechange([in] VARIANT v);
5217 
5218     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5219     HRESULT onreadystatechange([retval, out] VARIANT *p);
5220 
5221     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5222     HRESULT onrowsdelete([in] VARIANT v);
5223 
5224     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5225     HRESULT onrowsdelete([retval, out] VARIANT *p);
5226 
5227     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5228     HRESULT onrowsinserted([in] VARIANT v);
5229 
5230     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5231     HRESULT onrowsinserted([retval, out] VARIANT *p);
5232 
5233     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5234     HRESULT oncellchange([in] VARIANT v);
5235 
5236     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5237     HRESULT oncellchange([retval, out] VARIANT *p);
5238 
5239     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5240     HRESULT dir([in] BSTR v);
5241 
5242     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5243     HRESULT dir([retval, out] BSTR *p);
5244 
5245     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5246     HRESULT createControlRange([retval, out] IDispatch **range);
5247 
5248     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5249     HRESULT scrollHeight([retval, out] LONG *p);
5250 
5251     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5252     HRESULT scrollWidth([retval, out] LONG *p);
5253 
5254     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5255     HRESULT scrollTop([in] LONG v);
5256 
5257     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5258     HRESULT scrollTop([retval, out] LONG *p);
5259 
5260     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5261     HRESULT scrollLeft([in] LONG v);
5262 
5263     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5264     HRESULT scrollLeft([retval, out] LONG *p);
5265 
5266     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5267     HRESULT clearAttributes();
5268 
5269     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
5270     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
5271 
5272     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5273     HRESULT oncontextmenu([in] VARIANT v);
5274 
5275     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5276     HRESULT oncontextmenu([retval, out] VARIANT *p);
5277 
5278     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5279     HRESULT insertAdjacentElement(
5280         [in] BSTR where,
5281         [in] IHTMLElement *insertedElement,
5282         [retval, out] IHTMLElement **inserted);
5283 
5284     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5285     HRESULT applyElement(
5286         [in] IHTMLElement *apply,
5287         [in] BSTR where,
5288         [retval, out] IHTMLElement **applied);
5289 
5290     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5291     HRESULT getAdjacentText(
5292         [in] BSTR where,
5293         [retval, out] BSTR *text);
5294 
5295     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5296     HRESULT replaceAdjacentText(
5297         [in] BSTR where,
5298         [in] BSTR newText,
5299         [retval, out] BSTR *oldText);
5300 
5301     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5302     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
5303 
5304     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5305     HRESULT addBehavior(
5306         [in] BSTR bstrUrl,
5307         [optional, in] VARIANT *pvarFactory,
5308         [retval, out] LONG *pCookie);
5309 
5310     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5311     HRESULT removeBehavior(
5312         [in] LONG cookie,
5313         [retval, out] VARIANT_BOOL *pfResult);
5314 
5315     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5316     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
5317 
5318     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5319     HRESULT behaviorUrns([retval, out] IDispatch **p);
5320 
5321     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5322     HRESULT tagUrn([in] BSTR v);
5323 
5324     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5325     HRESULT tagUrn([retval, out] BSTR *p);
5326 
5327     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5328     HRESULT onbeforeeditfocus([in] VARIANT v);
5329 
5330     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5331     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
5332 
5333     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5334     HRESULT readyStateValue([retval, out] LONG *p);
5335 
5336     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5337     HRESULT getElementsByTagName(
5338         [in] BSTR v,
5339         [retval, out] IHTMLElementCollection **pelColl);
5340 }
5341 
5342 #define WINE_IHTMLELEMENT2_DISPINTERFACE_DECL                           \
5343     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]                       \
5344     BSTR scopeName();                                                   \
5345                                                                         \
5346     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]                               \
5347     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture); \
5348                                                                         \
5349     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]                           \
5350     void releaseCapture();                                              \
5351                                                                         \
5352     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5353     void onlosecapture(VARIANT v);                                      \
5354                                                                         \
5355     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable] \
5356     VARIANT onlosecapture();                                            \
5357                                                                         \
5358     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]                       \
5359     BSTR componentFromPoint([in] LONG x,[in] LONG y);                   \
5360                                                                         \
5361     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]                                 \
5362     void doScroll([optional, in] VARIANT component);                    \
5363                                                                         \
5364     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5365     void onscroll(VARIANT v);                                           \
5366                                                                         \
5367     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable] \
5368     VARIANT onscroll();                                                 \
5369                                                                         \
5370     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5371     void ondrag(VARIANT v);                                             \
5372                                                                         \
5373     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]   \
5374     VARIANT ondrag();                                                   \
5375                                                                         \
5376     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5377     void ondragend(VARIANT v);                                          \
5378                                                                         \
5379     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable] \
5380     VARIANT ondragend();                                                \
5381                                                                         \
5382     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5383     void ondragenter(VARIANT v);                                        \
5384                                                                         \
5385     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable] \
5386     VARIANT ondragenter();                                              \
5387                                                                         \
5388     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5389     void ondragover(VARIANT v);                                         \
5390                                                                         \
5391     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable] \
5392     VARIANT ondragover();                                               \
5393                                                                         \
5394     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5395     void ondragleave(VARIANT v);                                        \
5396                                                                         \
5397     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable] \
5398     VARIANT ondragleave();                                              \
5399                                                                         \
5400     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5401     void ondrop(VARIANT v);                                             \
5402                                                                         \
5403     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]   \
5404     VARIANT ondrop();                                                   \
5405                                                                         \
5406     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5407     void onbeforecut(VARIANT v);                                        \
5408                                                                         \
5409     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable] \
5410     VARIANT onbeforecut();                                              \
5411                                                                         \
5412     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5413     void oncut(VARIANT v);                                              \
5414                                                                         \
5415     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]    \
5416     VARIANT oncut();                                                    \
5417                                                                         \
5418     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5419     void onbeforecopy(VARIANT v);                                       \
5420                                                                         \
5421     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable] \
5422     VARIANT onbeforecopy();                                             \
5423                                                                         \
5424     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5425     void oncopy(VARIANT v);                                             \
5426                                                                         \
5427     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]   \
5428     VARIANT oncopy();                                                   \
5429                                                                         \
5430     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5431     void onbeforepaste(VARIANT v);                                      \
5432                                                                         \
5433     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable] \
5434     VARIANT onbeforepaste();                                            \
5435                                                                         \
5436     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5437     void onpaste(VARIANT v);                                            \
5438                                                                         \
5439     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]  \
5440     VARIANT onpaste();                                                  \
5441                                                                         \
5442     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]      \
5443     IHTMLCurrentStyle* currentStyle();                                  \
5444                                                                         \
5445     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5446     void onpropertychange(VARIANT v);                                   \
5447                                                                         \
5448     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable] \
5449     VARIANT onpropertychange();                                         \
5450                                                                         \
5451     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]                           \
5452     IHTMLRectCollection* getClientRects();                              \
5453                                                                         \
5454     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]                    \
5455     IHTMLRect* getBoundingClientRect();                                 \
5456                                                                         \
5457     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]                            \
5458     void setExpression(                                                 \
5459         [in] BSTR propname,                                             \
5460         [in] BSTR expr,                                                 \
5461         [defaultvalue(""), in] BSTR lang);                              \
5462                                                                         \
5463     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]                            \
5464     VARIANT getExpression([in] BSTR propname);                          \
5465                                                                         \
5466     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]                         \
5467     VARIANT_BOOL removeExpression([in] BSTR propname);                  \
5468                                                                         \
5469     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5470     void tabIndex(short v);                                             \
5471                                                                         \
5472     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable] \
5473     short tabIndex();                                                   \
5474                                                                         \
5475     [id(DISPID_IHTMLELEMENT2_FOCUS)]                                    \
5476     void focus();                                                       \
5477                                                                         \
5478     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5479     void accessKey(BSTR v);                                             \
5480                                                                         \
5481     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]\
5482     BSTR accessKey();                                                   \
5483                                                                         \
5484     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5485     void onblur(VARIANT v);                                             \
5486                                                                         \
5487     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]   \
5488     VARIANT onblur();                                                   \
5489                                                                         \
5490     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5491     void onfocus(VARIANT v);                                            \
5492                                                                         \
5493     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]  \
5494     VARIANT onfocus();                                                  \
5495                                                                         \
5496     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5497     void onresize(VARIANT v);                                           \
5498                                                                         \
5499     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable] \
5500     VARIANT onresize();                                                 \
5501                                                                         \
5502     [id(DISPID_IHTMLELEMENT2_BLUR)]                                     \
5503     void blur();                                                        \
5504                                                                         \
5505     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]                                \
5506     void addFilter([in] IUnknown* pUnk);                                \
5507                                                                         \
5508     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]                             \
5509     void removeFilter([in] IUnknown* pUnk);                             \
5510                                                                         \
5511     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable] \
5512     LONG clientHeight();                                                \
5513                                                                         \
5514     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable] \
5515     LONG clientWidth();                                                 \
5516                                                                         \
5517     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable] \
5518     LONG clientTop();                                                   \
5519                                                                         \
5520     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable] \
5521     LONG clientLeft();                                                  \
5522                                                                         \
5523     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]                              \
5524     VARIANT_BOOL attachEvent(                                           \
5525             [in] BSTR event,                                            \
5526             [in] IDispatch* pDisp);                                     \
5527                                                                         \
5528     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]                              \
5529     void detachEvent(                                                   \
5530             [in] BSTR event,                                            \
5531             [in] IDispatch* pDisp);                                     \
5532                                                                         \
5533     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState(); \
5534                                                                         \
5535     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5536     void onreadystatechange(VARIANT v);                                 \
5537                                                                         \
5538     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable] \
5539     VARIANT onreadystatechange();                                       \
5540                                                                         \
5541     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5542     void onrowsdelete(VARIANT v);                                       \
5543                                                                         \
5544     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable] \
5545     VARIANT onrowsdelete();                                             \
5546                                                                         \
5547     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5548     void onrowsinserted(VARIANT v);                                     \
5549                                                                         \
5550     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable] \
5551     VARIANT onrowsinserted();                                           \
5552                                                                         \
5553     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5554     void oncellchange(VARIANT v);                                       \
5555                                                                         \
5556     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable] \
5557     VARIANT oncellchange();                                             \
5558                                                                         \
5559     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5560     void dir(BSTR v);                                                   \
5561                                                                         \
5562     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]      \
5563     BSTR dir();                                                         \
5564                                                                         \
5565     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]                       \
5566     IDispatch* createControlRange();                                    \
5567                                                                         \
5568     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable] \
5569     LONG scrollHeight();                                                \
5570                                                                         \
5571     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable] \
5572     LONG scrollWidth();                                                 \
5573                                                                         \
5574     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5575     void scrollTop(LONG v);                                             \
5576                                                                         \
5577     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]\
5578     LONG scrollTop();                                                   \
5579                                                                         \
5580     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5581     void scrollLeft(LONG v);                                            \
5582                                                                         \
5583     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable] \
5584     LONG scrollLeft();                                                  \
5585                                                                         \
5586     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]                          \
5587     void clearAttributes();                                             \
5588                                                                         \
5589     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5590     void oncontextmenu(VARIANT v);                                      \
5591                                                                         \
5592     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable] \
5593     VARIANT oncontextmenu();                                            \
5594                                                                         \
5595     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]                    \
5596     IHTMLElement* insertAdjacentElement(                                \
5597         [in] BSTR where,                                                \
5598         [in] IHTMLElement* insertedElement);                            \
5599                                                                         \
5600     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]                             \
5601     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where); \
5602                                                                         \
5603     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]                          \
5604     BSTR getAdjacentText([in] BSTR where);                              \
5605                                                                         \
5606     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]                      \
5607     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);        \
5608                                                                         \
5609     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]                 \
5610     VARIANT_BOOL canHaveChildren();                                     \
5611                                                                         \
5612     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]                              \
5613     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory); \
5614                                                                         \
5615     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]                           \
5616     VARIANT_BOOL removeBehavior([in] LONG cookie);                      \
5617                                                                         \
5618     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]      \
5619     IHTMLStyle* runtimeStyle();                                         \
5620                                                                         \
5621     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]                    \
5622     IDispatch* behaviorUrns();                                          \
5623                                                                         \
5624     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5625     void tagUrn(BSTR v);                                                \
5626                                                                         \
5627     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]                          \
5628     BSTR tagUrn();                                                      \
5629                                                                         \
5630     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5631     void onbeforeeditfocus(VARIANT v);                                  \
5632                                                                         \
5633     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable] \
5634     VARIANT onbeforeeditfocus();                                        \
5635                                                                         \
5636     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted] \
5637     LONG readyStateValue();                                             \
5638                                                                         \
5639     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]                     \
5640     IHTMLElementCollection* getElementsByTagName([in] BSTR v)
5641 
5642 /*****************************************************************************
5643  *    IHTMLElement3 interface
5644  */
5645 [
5646     odl,
5647     oleautomation,
5648     dual,
5649     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
5650 ]
5651 interface IHTMLElement3 : IDispatch
5652 {
5653     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
5654     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
5655 
5656     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5657     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
5658 
5659     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5660     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
5661 
5662     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5663     HRESULT onlayoutcomplete([in] VARIANT v);
5664 
5665     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5666     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
5667 
5668     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5669     HRESULT onpage([in] VARIANT v);
5670 
5671     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5672     HRESULT onpage([retval, out] VARIANT * p);
5673 
5674     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5675     HRESULT inflateBlock([in] VARIANT_BOOL v);
5676 
5677     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5678     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
5679 
5680     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5681     HRESULT onbeforedeactivate([in] VARIANT v);
5682 
5683     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5684     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
5685 
5686     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
5687 
5688     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5689     HRESULT contentEditable([in] BSTR v);
5690 
5691     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5692     HRESULT contentEditable([retval, out] BSTR * p);
5693 
5694     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5695     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
5696 
5697     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5698     HRESULT hideFocus([in] VARIANT_BOOL v);
5699 
5700     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5701     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
5702 
5703     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5704     HRESULT disabled([in] VARIANT_BOOL v);
5705 
5706     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5707     HRESULT disabled([retval, out] VARIANT_BOOL * p);
5708 
5709     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5710     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
5711 
5712     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5713     HRESULT onmove([in] VARIANT v);
5714 
5715     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5716     HRESULT onmove([retval, out] VARIANT * p);
5717 
5718     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5719     HRESULT oncontrolselect([in] VARIANT v);
5720 
5721     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5722     HRESULT oncontrolselect([retval, out] VARIANT * p);
5723 
5724     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5725     HRESULT fireEvent(
5726         [in] BSTR bstrEventName,
5727         [optional, in] VARIANT* pvarEventObject,
5728         [retval, out] VARIANT_BOOL* pfCancelled);
5729 
5730     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5731     HRESULT onresizestart([in] VARIANT v);
5732 
5733     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5734     HRESULT onresizestart([retval, out] VARIANT * p);
5735 
5736     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5737     HRESULT onresizeend([in] VARIANT v);
5738 
5739     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5740     HRESULT onresizeend([retval, out] VARIANT * p);
5741 
5742     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5743     HRESULT onmovestart([in] VARIANT v);
5744 
5745     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5746     HRESULT onmovestart([retval, out] VARIANT * p);
5747 
5748     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5749     HRESULT onmoveend([in] VARIANT v);
5750 
5751     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5752     HRESULT onmoveend([retval, out] VARIANT * p);
5753 
5754     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5755     HRESULT onmouseenter([in] VARIANT v);
5756 
5757     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5758     HRESULT onmouseenter([retval, out] VARIANT * p);
5759 
5760     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5761     HRESULT onmouseleave([in] VARIANT v);
5762 
5763     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5764     HRESULT onmouseleave([retval, out] VARIANT * p);
5765 
5766     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5767     HRESULT onactivate([in] VARIANT v);
5768 
5769     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5770     HRESULT onactivate([retval, out] VARIANT * p);
5771 
5772     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5773     HRESULT ondeactivate([in] VARIANT v);
5774 
5775     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5776     HRESULT ondeactivate([retval, out] VARIANT * p);
5777 
5778     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
5779     VARIANT_BOOL* pfRet);
5780 
5781     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5782     HRESULT glyphMode([retval, out] LONG * p);
5783 }
5784 
5785 #define WINE_IHTMLELEMENT3_DISPINTERFACE_DECL                           \
5786                                                                         \
5787     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]                          \
5788     void mergeAttributes(                                               \
5789             [in] IHTMLElement* mergeThis,                               \
5790             [optional, in] VARIANT* pvarFlags);                         \
5791                                                                         \
5792     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]                     \
5793     VARIANT_BOOL isMultiLine();                                         \
5794                                                                         \
5795     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]                     \
5796     VARIANT_BOOL canHaveHTML();                                         \
5797                                                                         \
5798     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5799     void onlayoutcomplete(VARIANT v);                                   \
5800                                                                         \
5801     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable] \
5802     VARIANT onlayoutcomplete();                                         \
5803                                                                         \
5804     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5805     void onpage(VARIANT v);                                             \
5806                                                                         \
5807     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]   \
5808     VARIANT onpage();                                                   \
5809                                                                         \
5810     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5811     void inflateBlock(VARIANT_BOOL v);                                  \
5812                                                                         \
5813     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable] \
5814     VARIANT_BOOL inflateBlock();                                        \
5815                                                                         \
5816     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5817     void onbeforedeactivate(VARIANT v);                                 \
5818                                                                         \
5819     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable] \
5820     VARIANT onbeforedeactivate();                                       \
5821                                                                         \
5822     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]                                \
5823     void setActive();                                                   \
5824                                                                         \
5825     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5826     void contentEditable(BSTR v);                                       \
5827                                                                         \
5828     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable] \
5829     BSTR contentEditable();                                             \
5830                                                                         \
5831     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]               \
5832     VARIANT_BOOL isContentEditable();                                   \
5833                                                                         \
5834     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5835     void hideFocus(VARIANT_BOOL v);                                     \
5836                                                                         \
5837     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]\
5838     VARIANT_BOOL hideFocus();                                           \
5839                                                                         \
5840     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5841     void disabled(VARIANT_BOOL v);                                      \
5842                                                                         \
5843     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable] \
5844     VARIANT_BOOL disabled();                                            \
5845                                                                         \
5846     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]                      \
5847     VARIANT_BOOL isDisabled();                                          \
5848                                                                         \
5849     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5850     void onmove(VARIANT v);                                             \
5851                                                                         \
5852     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]   \
5853     VARIANT onmove();                                                   \
5854                                                                         \
5855     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5856     void oncontrolselect(VARIANT v);                                    \
5857                                                                         \
5858     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable] \
5859     VARIANT oncontrolselect();                                          \
5860                                                                         \
5861     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]                                \
5862     VARIANT_BOOL fireEvent(                                             \
5863         [in] BSTR bstrEventName,                                        \
5864         [optional, in] VARIANT* pvarEventObject);                       \
5865                                                                         \
5866     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5867     void onresizestart(VARIANT v);                                      \
5868                                                                         \
5869     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable] \
5870     VARIANT onresizestart();                                            \
5871                                                                         \
5872     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5873     void onresizeend(VARIANT v);                                        \
5874                                                                         \
5875     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable] \
5876     VARIANT onresizeend();                                              \
5877                                                                         \
5878     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5879     void onmovestart(VARIANT v);                                        \
5880                                                                         \
5881     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable] \
5882     VARIANT onmovestart();                                              \
5883                                                                         \
5884     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5885     void onmoveend(VARIANT v);                                          \
5886                                                                         \
5887     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]\
5888     VARIANT onmoveend();                                                \
5889                                                                         \
5890     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5891     void onmouseenter(VARIANT v);                                       \
5892                                                                         \
5893     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable] \
5894     VARIANT onmouseenter();                                             \
5895                                                                         \
5896     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5897     void onmouseleave(VARIANT v);                                       \
5898                                                                         \
5899     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable] \
5900     VARIANT onmouseleave();                                             \
5901                                                                         \
5902     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5903     void onactivate(VARIANT v);                                         \
5904                                                                         \
5905     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] \
5906     VARIANT onactivate();                                               \
5907                                                                         \
5908     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5909     void ondeactivate(VARIANT v);                                       \
5910                                                                         \
5911     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable] \
5912     VARIANT ondeactivate();                                             \
5913                                                                         \
5914     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]                                 \
5915     VARIANT_BOOL dragDrop();                                            \
5916                                                                         \
5917     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable] \
5918     LONG glyphMode()
5919 
5920 /*****************************************************************************
5921  *    IHTMLElement4 interface
5922  */
5923 [
5924     odl,
5925     oleautomation,
5926     dual,
5927     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
5928 ]
5929 interface IHTMLElement4 : IDispatch
5930 {
5931     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5932     HRESULT onmousewheel([in] VARIANT v);
5933 
5934     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5935     HRESULT onmousewheel([retval, out] VARIANT * p);
5936 
5937     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5938     HRESULT normalize();
5939 
5940     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5941     HRESULT getAttributeNode([in] BSTR bstrname,
5942         [retval, out] IHTMLDOMAttribute** ppAttribute);
5943 
5944     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5945     HRESULT setAttributeNode(
5946         [in] IHTMLDOMAttribute* pattr,
5947         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5948 
5949     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5950     HRESULT removeAttributeNode(
5951         [in] IHTMLDOMAttribute* pattr,
5952         [retval, out] IHTMLDOMAttribute** ppretAttribute);
5953 
5954     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5955     HRESULT onbeforeactivate([in] VARIANT v);
5956 
5957     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5958     HRESULT onbeforeactivate([retval, out] VARIANT * p);
5959 
5960     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5961     HRESULT onfocusin([in] VARIANT v);
5962 
5963     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5964     HRESULT onfocusin([retval, out] VARIANT * p);
5965 
5966     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5967     HRESULT onfocusout([in] VARIANT v);
5968 
5969     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5970     HRESULT onfocusout([retval, out] VARIANT * p);
5971 }
5972 
5973 #define WINE_IHTMLELEMENT4_DISPINTERFACE_DECL                           \
5974     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5975     void onmousewheel(VARIANT v);                                       \
5976                                                                         \
5977     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable] \
5978     VARIANT onmousewheel();                                             \
5979                                                                         \
5980     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]                                \
5981     void normalize();                                                   \
5982                                                                         \
5983     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]                         \
5984     IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);            \
5985                                                                         \
5986     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]                         \
5987     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr); \
5988                                                                         \
5989     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]                      \
5990     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr); \
5991                                                                         \
5992     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5993     void onbeforeactivate(VARIANT v);                                   \
5994                                                                         \
5995     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable] \
5996     VARIANT onbeforeactivate();                                         \
5997                                                                         \
5998     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
5999     void onfocusin(VARIANT v);                                          \
6000                                                                         \
6001     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]\
6002     VARIANT onfocusin();                                                \
6003                                                                         \
6004     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
6005     void onfocusout(VARIANT v);                                         \
6006                                                                         \
6007     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable] \
6008     VARIANT onfocusout()
6009 
6010 #define WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL                \
6011     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTOR)]                 \
6012     IHTMLElement *querySelector([in] BSTR v);                   \
6013                                                                 \
6014     [id(DISPID_IELEMENTSELECTOR_QUERYSELECTORALL)]              \
6015     IHTMLDOMChildrenCollection *querySelectorAll([in] BSTR v)
6016 
6017 /*****************************************************************************
6018  *    IHTMLUniqueName interface
6019  */
6020 [
6021     odl,
6022     oleautomation,
6023     dual,
6024     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
6025 ]
6026 interface IHTMLUniqueName : IDispatch
6027 {
6028     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6029     HRESULT uniqueNumber([retval, out] LONG * p);
6030 
6031     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6032     HRESULT uniqueID([retval, out] BSTR * p);
6033 }
6034 
6035 #define WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL                 \
6036     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]  \
6037     LONG uniqueNumber();                                        \
6038                                                                 \
6039     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]      \
6040     BSTR uniqueID()
6041 
6042 #define WINE_IHTMLELEMENT5_DISPINTERFACE_DECL                           \
6043     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTENODE)]                     \
6044     IHTMLDOMAttribute2 *ie8_getAttributeNode([in] BSTR bstrname);       \
6045                                                                         \
6046     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTENODE)]                     \
6047     IHTMLDOMAttribute2 *ie8_setAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
6048                                                                         \
6049     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTENODE)]                  \
6050     IHTMLDOMAttribute2 *ie8_removeAttributeNode([in] IHTMLDOMAttribute2 *pattr); \
6051                                                                         \
6052     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTE)]                             \
6053     VARIANT_BOOL hasAttribute([in] BSTR name);                          \
6054                                                                         \
6055     [propput, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
6056     void role(BSTR v);                                                  \
6057                                                                         \
6058     [propget, id(DISPID_IHTMLELEMENT5_ROLE), displaybind, bindable]     \
6059     BSTR role();                                                        \
6060                                                                         \
6061     [propput, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
6062     void ariaBusy(BSTR v);                                              \
6063                                                                         \
6064     [propget, id(DISPID_IHTMLELEMENT5_ARIABUSY), displaybind, bindable] \
6065     BSTR ariaBusy();                                                    \
6066                                                                         \
6067     [propput, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
6068     void ariaChecked(BSTR v);                                           \
6069                                                                         \
6070     [propget, id(DISPID_IHTMLELEMENT5_ARIACHECKED), displaybind, bindable] \
6071     BSTR ariaChecked();                                                 \
6072                                                                         \
6073     [propput, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
6074     void ariaDisabled(BSTR v);                                          \
6075                                                                         \
6076     [propget, id(DISPID_IHTMLELEMENT5_ARIADISABLED), displaybind, bindable] \
6077     BSTR ariaDisabled();                                                \
6078                                                                         \
6079     [propput, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
6080     void ariaExpanded(BSTR v);                                          \
6081                                                                         \
6082     [propget, id(DISPID_IHTMLELEMENT5_ARIAEXPANDED), displaybind, bindable] \
6083     BSTR ariaExpanded();                                                \
6084                                                                         \
6085     [propput, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable]\
6086     void ariaHaspopup(BSTR v);                                          \
6087                                                                         \
6088     [propget, id(DISPID_IHTMLELEMENT5_ARIAHASPOPUP), displaybind, bindable] \
6089     BSTR ariaHaspopup();                                                \
6090                                                                         \
6091     [propput, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
6092     void ariaHidden(BSTR v);                                            \
6093                                                                         \
6094     [propget, id(DISPID_IHTMLELEMENT5_ARIAHIDDEN), displaybind, bindable] \
6095     BSTR ariaHidden();                                                  \
6096                                                                         \
6097     [propput, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
6098     void ariaInvalid(BSTR v);                                           \
6099                                                                         \
6100     [propget, id(DISPID_IHTMLELEMENT5_ARIAINVALID), displaybind, bindable] \
6101     BSTR ariaInvalid();                                                 \
6102                                                                         \
6103     [propput, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
6104     void ariaMultiselectable(BSTR v);                                   \
6105                                                                         \
6106     [propget, id(DISPID_IHTMLELEMENT5_ARIAMULTISELECTABLE), displaybind, bindable] \
6107     BSTR ariaMultiselectable();                                         \
6108                                                                         \
6109     [propput, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6110     void ariaPressed(BSTR v);                                           \
6111                                                                         \
6112     [propget, id(DISPID_IHTMLELEMENT5_ARIAPRESSED), displaybind, bindable] \
6113     BSTR ariaPressed();                                                 \
6114                                                                         \
6115     [propput, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6116     void ariaReadonly(BSTR v);                                          \
6117                                                                         \
6118     [propget, id(DISPID_IHTMLELEMENT5_ARIAREADONLY), displaybind, bindable] \
6119     BSTR ariaReadonly();                                                \
6120                                                                         \
6121     [propput, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6122     void ariaRequired(BSTR v);                                          \
6123                                                                         \
6124     [propget, id(DISPID_IHTMLELEMENT5_ARIAREQUIRED), displaybind, bindable] \
6125     BSTR ariaRequired();                                                \
6126                                                                         \
6127     [propput, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6128     void ariaSecret(BSTR v);                                            \
6129                                                                         \
6130     [propget, id(DISPID_IHTMLELEMENT5_ARIASECRET), displaybind, bindable] \
6131     BSTR ariaSecret();                                                  \
6132                                                                         \
6133     [propput, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6134     void ariaSelected(BSTR v);                                          \
6135                                                                         \
6136     [propget, id(DISPID_IHTMLELEMENT5_ARIASELECTED), displaybind, bindable] \
6137     BSTR ariaSelected();                                                \
6138                                                                         \
6139     [id(DISPID_IHTMLELEMENT5_IE8_GETATTRIBUTE)]                         \
6140     VARIANT ie8_getAttribute([in] BSTR strAttributeName);               \
6141                                                                         \
6142     [id(DISPID_IHTMLELEMENT5_IE8_SETATTRIBUTE)]                         \
6143     void ie8_setAttribute([in] BSTR strAttributeName,[in] VARIANT AttributeValue); \
6144                                                                         \
6145     [id(DISPID_IHTMLELEMENT5_IE8_REMOVEATTRIBUTE)]                      \
6146     VARIANT_BOOL ie8_removeAttribute([in] BSTR strAttributeName);       \
6147                                                                         \
6148     [propget, id(DISPID_IHTMLELEMENT5_IE8_ATTRIBUTES)]                  \
6149     IHTMLAttributeCollection3 *ie8_attributes();                        \
6150                                                                         \
6151     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6152     void ariaValuenow(BSTR v);                                          \
6153                                                                         \
6154     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUENOW), displaybind, bindable] \
6155     BSTR ariaValuenow();                                                \
6156                                                                         \
6157     [propput, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6158     void ariaPosinset(short v);                                         \
6159                                                                         \
6160     [propget, id(DISPID_IHTMLELEMENT5_ARIAPOSINSET), displaybind, bindable] \
6161     short ariaPosinset();                                               \
6162                                                                         \
6163     [propput, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6164     void ariaSetsize(short v);                                          \
6165                                                                         \
6166     [propget, id(DISPID_IHTMLELEMENT5_ARIASETSIZE), displaybind, bindable] \
6167     short ariaSetsize();                                                \
6168                                                                         \
6169     [propput, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6170     void ariaLevel(short v);                                            \
6171                                                                         \
6172     [propget, id(DISPID_IHTMLELEMENT5_ARIALEVEL), displaybind, bindable]\
6173     short ariaLevel();                                                  \
6174                                                                         \
6175     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6176     void ariaValuemin(BSTR v);                                          \
6177                                                                         \
6178     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMIN), displaybind, bindable] \
6179     BSTR ariaValuemin();                                                \
6180                                                                         \
6181     [propput, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6182     void ariaValuemax(BSTR v);                                          \
6183                                                                         \
6184     [propget, id(DISPID_IHTMLELEMENT5_ARIAVALUEMAX), displaybind, bindable] \
6185     BSTR ariaValuemax();                                                \
6186                                                                         \
6187     [propput, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6188     void ariaControls(BSTR v);                                          \
6189                                                                         \
6190     [propget, id(DISPID_IHTMLELEMENT5_ARIACONTROLS), displaybind, bindable] \
6191     BSTR ariaControls();                                                \
6192                                                                         \
6193     [propput, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6194     void ariaDescribedby(BSTR v);                                       \
6195                                                                         \
6196     [propget, id(DISPID_IHTMLELEMENT5_ARIADESCRIBEDBY), displaybind, bindable] \
6197     BSTR ariaDescribedby();                                             \
6198                                                                         \
6199     [propput, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6200     void ariaFlowto(BSTR v);                                            \
6201                                                                         \
6202     [propget, id(DISPID_IHTMLELEMENT5_ARIAFLOWTO), displaybind, bindable] \
6203     BSTR ariaFlowto();                                                  \
6204                                                                         \
6205     [propput, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6206     void ariaLabelledby(BSTR v);                                        \
6207                                                                         \
6208     [propget, id(DISPID_IHTMLELEMENT5_ARIALABELLEDBY), displaybind, bindable] \
6209     BSTR ariaLabelledby();                                              \
6210                                                                         \
6211     [propput, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6212     void ariaActivedescendant(BSTR v);                                  \
6213                                                                         \
6214     [propget, id(DISPID_IHTMLELEMENT5_ARIAACTIVEDESCENDANT), displaybind, bindable] \
6215     BSTR ariaActivedescendant();                                        \
6216                                                                         \
6217     [propput, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6218     void ariaOwns(BSTR v);                                              \
6219                                                                         \
6220     [propget, id(DISPID_IHTMLELEMENT5_ARIAOWNS), displaybind, bindable] \
6221     BSTR ariaOwns();                                                    \
6222                                                                         \
6223     [id(DISPID_IHTMLELEMENT5_HASATTRIBUTES)]                            \
6224     VARIANT_BOOL hasAttributes();                                       \
6225                                                                         \
6226     [propput, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6227     void ariaLive(BSTR v);                                              \
6228                                                                         \
6229     [propget, id(DISPID_IHTMLELEMENT5_ARIALIVE), displaybind, bindable] \
6230     BSTR ariaLive();                                                    \
6231                                                                         \
6232     [propput, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6233     void ariaRelevant(BSTR v);                                          \
6234                                                                         \
6235     [propget, id(DISPID_IHTMLELEMENT5_ARIARELEVANT), displaybind, bindable] \
6236     BSTR ariaRelevant()
6237 
6238 [
6239     odl,
6240     oleautomation,
6241     dual,
6242     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
6243 ]
6244 interface IHTMLDatabinding : IDispatch
6245 {
6246     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6247     HRESULT dataFld([in] BSTR v);
6248 
6249     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6250     HRESULT dataFld([retval, out] BSTR * p);
6251 
6252     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6253     HRESULT dataSrc([in] BSTR v);
6254 
6255     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6256     HRESULT dataSrc([retval, out] BSTR * p);
6257 
6258     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6259     HRESULT dataFormatAs([in] BSTR v);
6260 
6261     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6262     HRESULT dataFormatAs([retval, out] BSTR * p);
6263 }
6264 
6265 #define WINE_IHTMLDATABINDING_DISPINTERFACE_DECL        \
6266     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6267     void dataFld(BSTR v);                               \
6268                                                         \
6269     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]      \
6270     BSTR dataFld();                                     \
6271                                                         \
6272     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6273     void dataSrc(BSTR v);                               \
6274                                                         \
6275     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]      \
6276     BSTR dataSrc();                                     \
6277                                                         \
6278     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6279     void dataFormatAs(BSTR v);                          \
6280                                                         \
6281     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)] \
6282     BSTR dataFormatAs()
6283 
6284 #define WINE_HTMLELEMENT_DISPINTERFACE_DECL     \
6285     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6286     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6287     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6288     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6289     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6290     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6291     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6292     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6293 
6294 #define WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL \
6295     WINE_IHTMLELEMENT_DISPINTERFACE_DECL;       \
6296     WINE_IHTMLELEMENT2_DISPINTERFACE_DECL;      \
6297     WINE_IHTMLELEMENT3_DISPINTERFACE_DECL;      \
6298     WINE_IHTMLELEMENT4_DISPINTERFACE_DECL;      \
6299     WINE_IHTMLUNIQUENAME_DISPINTERFACE_DECL;    \
6300     WINE_HTMLDOMNODE_DISPINTERFACE_DECL;        \
6301     WINE_IHTMLDATABINDING_DISPINTERFACE_DECL;   \
6302     WINE_IHTMLELEMENT5_DISPINTERFACE_DECL;      \
6303     WINE_IELEMENTSELECTOR_DISPINTERFACE_DECL;   \
6304     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL
6305 
6306 /*****************************************************************************
6307  *    IHTMLGenericElement interface
6308  */
6309 [
6310     odl,
6311     oleautomation,
6312     dual,
6313     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
6314 ]
6315 interface IHTMLGenericElement : IDispatch
6316 {
6317     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6318     HRESULT recordset([out, retval] IDispatch **p);
6319 
6320     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6321     HRESULT namedRecordset(
6322             [in] BSTR dataMember,
6323             [in, optional] VARIANT *hierarchy,
6324             [out, retval] IDispatch **ppRecordset);
6325 }
6326 
6327 /*****************************************************************************
6328  *    DispHTMLGenericElement dispinterface
6329  */
6330 [
6331     hidden,
6332     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
6333 ]
6334 dispinterface DispHTMLGenericElement
6335 {
6336 properties:
6337 methods:
6338     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
6339 
6340     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
6341     IDispatch *recordset();
6342 
6343     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
6344     IDispatch *namedRecordset(
6345             [in] BSTR dataMember,
6346             [in, optional] VARIANT *hierarchy);
6347 }
6348 
6349 /*****************************************************************************
6350  *    IHTMLStyleSheetRule interface
6351  */
6352 [
6353     odl,
6354     oleautomation,
6355     dual,
6356     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
6357 ]
6358 interface IHTMLStyleSheetRule : IDispatch
6359 {
6360     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6361     HRESULT selectorText([in] BSTR v);
6362 
6363     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6364     HRESULT selectorText([retval, out] BSTR *p);
6365 
6366     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
6367     HRESULT style([retval, out] IHTMLRuleStyle **p);
6368 
6369     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6370     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6371 }
6372 
6373 [
6374     hidden,
6375     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
6376 ]
6377 dispinterface DispHTMLStyleSheetRule
6378 {
6379 properties:
6380 methods:
6381     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6382     void selectorText(BSTR v);
6383 
6384     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
6385     BSTR selectorText();
6386 
6387     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
6388     IHTMLRuleStyle* style();
6389 
6390     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
6391     VARIANT_BOOL readOnly();
6392 
6393     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6394 }
6395 
6396 [
6397     noncreatable,
6398     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
6399 ]
6400 coclass HTMLStyleSheetRule
6401 {
6402     [default]           dispinterface DispHTMLStyleSheetRule;
6403                         interface IHTMLStyleSheetRule;
6404                         interface IHTMLDOMConstructor;
6405 }
6406 
6407 /*****************************************************************************
6408  *    IHTMLStyleSheetRulesCollection interface
6409  */
6410 [
6411     odl,
6412     oleautomation,
6413     dual,
6414     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
6415 ]
6416 interface IHTMLStyleSheetRulesCollection : IDispatch
6417 {
6418     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6419     HRESULT length([retval, out] LONG *p);
6420 
6421     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6422     HRESULT item(
6423         [in] LONG index,
6424         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
6425 }
6426 
6427 [
6428     hidden,
6429     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
6430 ]
6431 dispinterface DispHTMLStyleSheetRulesCollection
6432 {
6433 properties:
6434 methods:
6435     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
6436     long length();
6437 
6438     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
6439     IHTMLStyleSheetRule* item([in] long index);
6440 
6441     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6442 }
6443 
6444 [
6445     noncreatable,
6446     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
6447 ]
6448 coclass HTMLStyleSheetRulesCollection
6449 {
6450     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
6451                         interface IHTMLStyleSheetRulesCollection;
6452                         interface IHTMLDOMConstructor;
6453 }
6454 
6455 [
6456     odl,
6457     oleautomation,
6458     dual,
6459     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
6460 ]
6461 interface IHTMLStyleSheetPage : IDispatch
6462 {
6463     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6464     HRESULT selector([retval, out] BSTR *p);
6465 
6466     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6467     HRESULT pseudoClass([retval, out] BSTR *p);
6468 }
6469 
6470 [
6471     hidden,
6472     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
6473 ]
6474 dispinterface DispHTMLStyleSheetPage
6475 {
6476 properties:
6477 methods:
6478     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
6479     BSTR selector();
6480 
6481     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
6482     BSTR pseudoClass();
6483 
6484     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6485 }
6486 [
6487     noncreatable,
6488     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
6489 ]
6490 coclass HTMLStyleSheetPage
6491 {
6492     [default]           dispinterface DispHTMLStyleSheetPage;
6493                         interface IHTMLStyleSheetPage;
6494                         interface IHTMLDOMConstructor;
6495 }
6496 
6497 [
6498     odl,
6499     oleautomation,
6500     dual,
6501     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
6502 ]
6503 interface IHTMLStyleSheetPagesCollection : IDispatch
6504 {
6505     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6506     HRESULT length([retval, out] LONG *p);
6507 
6508     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6509     HRESULT item(
6510         [in] LONG index,
6511         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
6512 }
6513 
6514 [
6515     hidden,
6516     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
6517 ]
6518 dispinterface DispHTMLStyleSheetPagesCollection
6519 {
6520 properties:
6521 methods:
6522     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
6523     long length();
6524 
6525     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
6526     IHTMLStyleSheetPage* item([in] long index);
6527 
6528     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
6529 }
6530 
6531 [
6532     noncreatable,
6533     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
6534 ]
6535 coclass HTMLStyleSheetPagesCollection
6536 {
6537     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
6538                         interface IHTMLStyleSheetPagesCollection;
6539                         interface IHTMLDOMConstructor;
6540 }
6541 
6542 /*****************************************************************************
6543  *    IHTMLStyleSheet interface
6544  */
6545 [
6546     odl,
6547     oleautomation,
6548     dual,
6549     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
6550 ]
6551 interface IHTMLStyleSheet : IDispatch
6552 {
6553     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6554     HRESULT title([in] BSTR v);
6555 
6556     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6557     HRESULT title([retval, out] BSTR *p);
6558 
6559     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6560     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
6561 
6562     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6563     HRESULT owningElement([retval, out] IHTMLElement **p);
6564 
6565     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6566     HRESULT disabled([in] VARIANT_BOOL v);
6567 
6568     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6569     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6570 
6571     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6572     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
6573 
6574     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6575     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
6576 
6577     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6578     HRESULT href([in] BSTR v);
6579 
6580     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6581     HRESULT href([retval, out] BSTR *p);
6582 
6583     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6584     HRESULT type([retval, out] BSTR *p);
6585 
6586     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6587     HRESULT id([retval, out] BSTR *p);
6588 
6589     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6590     HRESULT addImport(
6591         [in] BSTR bstrURL,
6592         [defaultvalue(-1), in] LONG lIndex,
6593         [retval, out] LONG *plIndex);
6594 
6595     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6596     HRESULT addRule(
6597         [in] BSTR bstrSelector,
6598         [in] BSTR bstrStyle,
6599         [defaultvalue(-1), in] LONG lIndex,
6600         [retval, out] LONG *plNewIndex);
6601 
6602     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6603     HRESULT removeImport([in] LONG lIndex);
6604 
6605     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6606     HRESULT removeRule([in] LONG lIndex);
6607 
6608     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6609     HRESULT media([in] BSTR v);
6610 
6611     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6612     HRESULT media([retval, out] BSTR *p);
6613 
6614     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6615     HRESULT cssText([in] BSTR v);
6616 
6617     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6618     HRESULT cssText([retval, out] BSTR *p);
6619 
6620     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6621     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
6622 }
6623 
6624 /*****************************************************************************
6625  *    IHTMLStyleSheet2 interface
6626  */
6627 [
6628     odl,
6629     oleautomation,
6630     dual,
6631     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
6632 ]
6633 interface IHTMLStyleSheet2 : IDispatch
6634 {
6635     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6636     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
6637 
6638     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6639     HRESULT addPageRule(
6640         [in] BSTR bstrSelector,
6641         [in] BSTR bstrStyle,
6642         [defaultvalue(-1), in] LONG lIndex,
6643         [retval, out] LONG *plNewIndex);
6644 }
6645 
6646 [
6647     hidden,
6648     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
6649 ]
6650 dispinterface DispHTMLStyleSheet
6651 {
6652 properties:
6653 methods:
6654     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6655     void title(BSTR v);
6656 
6657     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
6658     BSTR title();
6659 
6660     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
6661     IHTMLStyleSheet* parentStyleSheet();
6662 
6663     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
6664     IHTMLElement* owningElement();
6665 
6666     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6667     void disabled(VARIANT_BOOL v);
6668 
6669     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
6670     VARIANT_BOOL disabled();
6671 
6672     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
6673     VARIANT_BOOL readOnly();
6674 
6675     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
6676     IHTMLStyleSheetsCollection* imports();
6677 
6678     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
6679     void href(BSTR v);
6680 
6681     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
6682     BSTR href();
6683 
6684     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
6685     BSTR type();
6686 
6687     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
6688     BSTR id();
6689 
6690     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
6691     LONG addImport(
6692         [in] BSTR bstrURL,
6693         [defaultvalue(-1), in] LONG lIndex);
6694 
6695     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
6696     LONG addRule(
6697         [in] BSTR bstrSelector,
6698         [in] BSTR bstrStyle,
6699         [defaultvalue(-1), in] LONG lIndex);
6700 
6701     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
6702     void removeImport([in] LONG lIndex);
6703 
6704     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
6705     void removeRule([in] LONG lIndex);
6706 
6707     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6708     void media(BSTR v);
6709 
6710     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
6711     BSTR media();
6712 
6713     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6714     void cssText(BSTR v);
6715 
6716     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
6717     BSTR cssText();
6718 
6719     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
6720     IHTMLStyleSheetRulesCollection* rules();
6721 
6722     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
6723     IHTMLStyleSheetPagesCollection* pages();
6724 
6725     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
6726     LONG addPageRule(
6727         [in] BSTR bstrSelector,
6728         [in] BSTR bstrStyle,
6729         [defaultvalue(-1), in] LONG lIndex);
6730 }
6731 
6732 [
6733     noncreatable,
6734     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
6735 ]
6736 coclass HTMLStyleSheet
6737 {
6738     [default]           dispinterface DispHTMLStyleSheet;
6739                         interface IHTMLStyleSheet;
6740                         interface IHTMLStyleSheet2;
6741 }
6742 
6743 /*****************************************************************************
6744  *    IHTMLStyleSheetsCollection interface
6745  */
6746 [
6747     odl,
6748     oleautomation,
6749     dual,
6750     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
6751 ]
6752 interface IHTMLStyleSheetsCollection : IDispatch
6753 {
6754     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6755     HRESULT length([retval, out] LONG *p);
6756 
6757     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
6758     HRESULT _newEnum([retval, out] IUnknown **p);
6759 
6760     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6761     HRESULT item(
6762         [in] VARIANT *pvarIndex,
6763         [retval, out] VARIANT *pvarResult);
6764 }
6765 
6766 /*****************************************************************************
6767  *    DispHTMLStyleSheetsCollection dispinterface
6768  */
6769 [
6770     hidden,
6771     uuid(3050f547-98b5-11cf-bb82-00aa00bdce0b)
6772 ]
6773 dispinterface DispHTMLStyleSheetsCollection
6774 {
6775 properties:
6776 methods:
6777     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
6778     long length();
6779 
6780     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM), hidden, restricted]
6781     IUnknown *_newEnum();
6782 
6783     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
6784     VARIANT item([in] VARIANT *pvarIndex);
6785 
6786     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
6787     IDispatch *constructor();
6788 }
6789 
6790 /*****************************************************************************
6791  *    IHTMLLinkElement interface
6792  */
6793 [
6794     odl,
6795     oleautomation,
6796     dual,
6797     uuid(3050f205-98b5-11cf-bb82-00aa00bdce0b)
6798 ]
6799 interface IHTMLLinkElement : IDispatch
6800 {
6801     [propput, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6802     HRESULT href([in] BSTR v);
6803 
6804     [propget, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6805     HRESULT href([out, retval] BSTR *p);
6806 
6807     [propput, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6808     HRESULT rel([in] BSTR v);
6809 
6810     [propget, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6811     HRESULT rel([out, retval] BSTR *p);
6812 
6813     [propput, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6814     HRESULT rev([in] BSTR v);
6815 
6816     [propget, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6817     HRESULT rev([out, retval] BSTR *p);
6818 
6819     [propput, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6820     HRESULT type([in] BSTR v);
6821 
6822     [propget, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6823     HRESULT type([out, retval] BSTR *p);
6824 
6825     [propget, id(DISPID_IHTMLLINKELEMENT_READYSTATE)]
6826     HRESULT readyState([out, retval] BSTR *p);
6827 
6828     [propput, id(DISPID_IHTMLLINKELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
6829     HRESULT onreadystatechange([in] VARIANT v);
6830 
6831     [propget, id(DISPID_IHTMLLINKELEMENT_ONREADYSTATECHANGE), displaybind, bindable]
6832     HRESULT onreadystatechange([out, retval] VARIANT *p);
6833 
6834     [propput, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6835     HRESULT onload([in] VARIANT v);
6836 
6837     [propget, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6838     HRESULT onload([out, retval] VARIANT *p);
6839 
6840     [propput, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6841     HRESULT onerror([in] VARIANT v);
6842 
6843     [propget, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6844     HRESULT onerror([out, retval] VARIANT *p);
6845 
6846     [propget, id(DISPID_IHTMLLINKELEMENT_STYLESHEET)]
6847     HRESULT styleSheet([out, retval] IHTMLStyleSheet **p);
6848 
6849     [propput, id(DISPID_IHTMLLINKELEMENT_DISABLED), displaybind, bindable]
6850     HRESULT disabled([in] VARIANT_BOOL v);
6851 
6852     [propget, id(DISPID_IHTMLLINKELEMENT_DISABLED), displaybind, bindable]
6853     HRESULT disabled([out, retval] VARIANT_BOOL *p);
6854 
6855     [propput, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
6856     HRESULT media([in] BSTR v);
6857 
6858     [propget, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]\
6859     HRESULT media([out, retval] BSTR *p);
6860 }
6861 
6862 /*****************************************************************************
6863  *    IHTMLLinkElement2 interface
6864  */
6865 [
6866     odl,
6867     oleautomation,
6868     dual,
6869     uuid(3050f4e5-98b5-11cf-bb82-00aa00bdce0b)
6870 ]
6871 interface IHTMLLinkElement2 : IDispatch
6872 {
6873     [propput, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6874     HRESULT target([in] BSTR v);
6875 
6876     [propget, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6877     HRESULT target([out, retval] BSTR *p);
6878 }
6879 
6880 /*****************************************************************************
6881  *    IHTMLLinkElement3 interface
6882  */
6883 [
6884     odl,
6885     oleautomation,
6886     dual,
6887     uuid(3050f81e-98b5-11cf-bb82-00aa00bdce0b)
6888 ]
6889 interface IHTMLLinkElement3 : IDispatch
6890 {
6891     [propput, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6892     HRESULT charset([in] BSTR v);
6893 
6894     [propget, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6895     HRESULT charset([out, retval] BSTR *p);
6896 
6897     [propput, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6898     HRESULT hreflang([in] BSTR v);
6899 
6900     [propget, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6901     HRESULT hreflang([out, retval] BSTR *p);
6902 }
6903 
6904 /*****************************************************************************
6905  *    IHTMLLinkElement4 interface
6906  */
6907 [
6908     odl,
6909     oleautomation,
6910     dual,
6911     uuid(3051043a-98b5-11cf-bb82-00aa00bdce0b)
6912 ]
6913 interface IHTMLLinkElement4 : IDispatch
6914 {
6915     [propput, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
6916     HRESULT href([in] BSTR v);
6917 
6918     [propget, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
6919     HRESULT href([retval, out] BSTR * p);
6920 }
6921 
6922 /*****************************************************************************
6923  *    DispHTMLLinkElement dispinterface
6924  */
6925 [
6926     hidden,
6927     uuid(3050f524-98b5-11cf-bb82-00aa00bdce0b)
6928 ]
6929 dispinterface DispHTMLLinkElement
6930 {
6931 properties:
6932 methods:
6933     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
6934 
6935     [propput, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6936     void href(BSTR v);
6937 
6938     [propget, id(DISPID_IHTMLLINKELEMENT_HREF), displaybind, bindable]
6939     BSTR href();
6940 
6941     [propput, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6942     void rel(BSTR v);
6943 
6944     [propget, id(DISPID_IHTMLLINKELEMENT_REL), displaybind, bindable]
6945     BSTR rel();
6946 
6947     [propput, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6948     void rev(BSTR v);
6949 
6950     [propget, id(DISPID_IHTMLLINKELEMENT_REV), displaybind, bindable]
6951     BSTR rev();
6952 
6953     [propput, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6954     void type(BSTR v);
6955 
6956     [propget, id(DISPID_IHTMLLINKELEMENT_TYPE), displaybind, bindable]
6957     BSTR type();
6958 
6959     [propput, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6960     void onload(VARIANT v);
6961 
6962     [propget, id(DISPID_IHTMLLINKELEMENT_ONLOAD), displaybind, bindable]
6963     VARIANT onload();
6964 
6965     [propput, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6966     void onerror(VARIANT v);
6967 
6968     [propget, id(DISPID_IHTMLLINKELEMENT_ONERROR), displaybind, bindable]
6969     VARIANT onerror();
6970 
6971     [propget, id(DISPID_IHTMLLINKELEMENT_STYLESHEET)]
6972     IHTMLStyleSheet *styleSheet();
6973 
6974     [propput, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
6975     void media(BSTR v);
6976 
6977     [propget, id(DISPID_IHTMLLINKELEMENT_MEDIA), displaybind, bindable]
6978     BSTR media();
6979 
6980     [propput, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6981     void target(BSTR v);
6982 
6983     [propget, id(DISPID_IHTMLLINKELEMENT2_TARGET), displaybind, bindable]
6984     BSTR target();
6985 
6986     [propput, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6987     void charset(BSTR v);
6988 
6989     [propget, id(DISPID_IHTMLLINKELEMENT3_CHARSET), displaybind, bindable]
6990     BSTR charset();
6991 
6992     [propput, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6993     void hreflang(BSTR v);
6994 
6995     [propget, id(DISPID_IHTMLLINKELEMENT3_HREFLANG), displaybind, bindable]
6996     BSTR hreflang();
6997 
6998     [propput, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
6999     void ie8_href(BSTR v);
7000 
7001     [propget, id(DISPID_IHTMLLINKELEMENT4_IE8_HREF)]
7002     BSTR ie8_href();
7003 }
7004 
7005 /*****************************************************************************
7006  *    IHTMLTxtRange interface
7007  */
7008 [
7009     odl,
7010     oleautomation,
7011     dual,
7012     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
7013 ]
7014 interface IHTMLTxtRange : IDispatch
7015 {
7016     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
7017     HRESULT htmlText([retval, out] BSTR *p);
7018 
7019     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
7020     HRESULT text([in] BSTR v);
7021 
7022     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
7023     HRESULT text([retval, out] BSTR *p);
7024 
7025     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
7026     HRESULT parentElement([retval, out] IHTMLElement **parent);
7027 
7028     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
7029     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
7030 
7031     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
7032     HRESULT inRange(
7033         [in] IHTMLTxtRange *Range,
7034         [retval, out] VARIANT_BOOL *InRange);
7035 
7036     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
7037     HRESULT isEqual(
7038         [in] IHTMLTxtRange *Range,
7039         [retval, out] VARIANT_BOOL *IsEqual);
7040 
7041     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
7042     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
7043 
7044     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
7045     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
7046 
7047     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
7048     HRESULT expand(
7049         [in] BSTR Unit,
7050         [retval, out] VARIANT_BOOL *Success);
7051 
7052     [id(DISPID_IHTMLTXTRANGE_MOVE)]
7053     HRESULT move(
7054         [in] BSTR Unit,
7055         [defaultvalue(1), in] LONG Count,
7056         [retval, out] LONG *ActualCount);
7057 
7058     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
7059     HRESULT moveStart(
7060         [in] BSTR Unit,
7061         [defaultvalue(1), in] LONG Count,
7062         [retval, out] LONG *ActualCount);
7063 
7064     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
7065     HRESULT moveEnd(
7066         [in] BSTR Unit,
7067         [defaultvalue(1), in] LONG Count,
7068         [retval, out] LONG *ActualCount);
7069 
7070     [id(DISPID_IHTMLTXTRANGE_SELECT)]
7071     HRESULT select();
7072 
7073     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
7074     HRESULT pasteHTML([in] BSTR html);
7075 
7076     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
7077     HRESULT moveToElementText([in] IHTMLElement *element);
7078 
7079     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
7080     HRESULT setEndPoint(
7081         [in] BSTR how,
7082         [in] IHTMLTxtRange *SourceRange);
7083 
7084     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
7085     HRESULT compareEndPoints(
7086         [in] BSTR how,
7087         [in] IHTMLTxtRange *SourceRange,
7088         [retval, out] LONG *ret);
7089 
7090     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
7091     HRESULT findText(
7092         [in] BSTR String,
7093         [defaultvalue(1073741823), in] LONG count,
7094         [defaultvalue(0), in] LONG Flags,
7095         [retval, out] VARIANT_BOOL *Success);
7096 
7097     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
7098     HRESULT moveToPoint(
7099         [in] LONG x,
7100         [in] LONG y);
7101 
7102     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
7103     HRESULT getBookmark([retval, out] BSTR *Boolmark);
7104 
7105     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
7106     HRESULT moveToBookmark(
7107         [in] BSTR Bookmark,
7108         [retval, out] VARIANT_BOOL *Success);
7109 
7110     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
7111     HRESULT queryCommandSupported(
7112         [in] BSTR cmdID,
7113         [retval, out] VARIANT_BOOL *pfRet);
7114 
7115     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
7116     HRESULT queryCommandEnabled(
7117         [in] BSTR cmdID,
7118         [retval, out] VARIANT_BOOL *pfRet);
7119 
7120     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
7121     HRESULT queryCommandState(
7122         [in] BSTR cmdID,
7123         [retval, out] VARIANT_BOOL *pfRet);
7124 
7125     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
7126     HRESULT queryCommandIndeterm(
7127         [in] BSTR cmdID,
7128         [retval, out] VARIANT_BOOL *pfRet);
7129 
7130     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
7131     HRESULT queryCommandText(
7132         [in] BSTR cmdID,
7133         [retval, out] BSTR *pcmdText);
7134 
7135     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
7136     HRESULT queryCommandValue(
7137         [in] BSTR cmdID,
7138         [retval, out] VARIANT *pcmdValue);
7139 
7140     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
7141     HRESULT execCommand(
7142         [in] BSTR cmdID,
7143         [defaultvalue(0), in] VARIANT_BOOL showUI,
7144         [optional, in] VARIANT value,
7145         [retval, out] VARIANT_BOOL *pfRet);
7146 
7147     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
7148     HRESULT execCommandShowHelp(
7149         [in] BSTR cmdID,
7150         [retval, out] VARIANT_BOOL *pfRet);
7151 }
7152 
7153 [
7154     noncreatable,
7155     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
7156 ]
7157 coclass HTMLStyleSheetsCollection
7158 {
7159     [default]           interface IHTMLStyleSheetsCollection;
7160 }
7161 
7162 /*****************************************************************************
7163  *    IHTMLFormElement interface
7164  */
7165 [
7166     odl,
7167     oleautomation,
7168     dual,
7169     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
7170 ]
7171 interface IHTMLFormElement : IDispatch
7172 {
7173     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7174     HRESULT action([in] BSTR v);
7175 
7176     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7177     HRESULT action([retval, out] BSTR *p);
7178 
7179     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
7180     HRESULT dir([in] BSTR v);
7181 
7182     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
7183     HRESULT dir([retval, out] BSTR *p);
7184 
7185     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7186     HRESULT encoding([in] BSTR v);
7187 
7188     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7189     HRESULT encoding([retval, out] BSTR *p);
7190 
7191     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7192     HRESULT method([in] BSTR v);
7193 
7194     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7195     HRESULT method([retval, out] BSTR *p);
7196 
7197     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
7198     HRESULT elements([retval, out] IDispatch **p);
7199 
7200     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7201     HRESULT target([in] BSTR v);
7202 
7203     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7204     HRESULT target([retval, out] BSTR *p);
7205 
7206     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
7207     HRESULT name([in] BSTR v);
7208 
7209     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
7210     HRESULT name([retval, out] BSTR *p);
7211 
7212     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7213     HRESULT onsubmit([in] VARIANT v);
7214 
7215     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7216     HRESULT onsubmit([retval, out] VARIANT *p);
7217 
7218     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7219     HRESULT onreset([in] VARIANT v);
7220 
7221     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7222     HRESULT onreset([retval, out] VARIANT *p);
7223 
7224     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
7225     HRESULT submit();
7226 
7227     [id(DISPID_IHTMLFORMELEMENT_RESET)]
7228     HRESULT reset();
7229 
7230     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7231     HRESULT length([in] LONG v);
7232 
7233     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7234     HRESULT length([retval, out] LONG *p);
7235 
7236     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
7237     HRESULT _newEnum([retval, out] IUnknown **p);
7238 
7239     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
7240     HRESULT item(
7241         [optional, in] VARIANT name,
7242         [optional, in] VARIANT index,
7243         [retval, out] IDispatch **pdisp);
7244 
7245     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7246     HRESULT tags(
7247         [in] VARIANT tagName,
7248         [retval, out] IDispatch **pdisp);
7249 }
7250 
7251 /*****************************************************************************
7252  *    DispHTMLFormElement dispinterface
7253  */
7254 [
7255     hidden,
7256     uuid(3050F510-98B5-11CF-BB82-00AA00BDCE0B)
7257 ]
7258 dispinterface DispHTMLFormElement
7259 {
7260 properties:
7261 methods:
7262     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7263 
7264     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7265     void action(BSTR v);
7266 
7267     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
7268     BSTR action();
7269 
7270     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7271     void encoding(BSTR v);
7272 
7273     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
7274     BSTR encoding();
7275 
7276     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7277     void method(BSTR v);
7278 
7279     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
7280     BSTR method();
7281 
7282     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
7283     IDispatch *elements();
7284 
7285     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7286     void target(BSTR v);
7287 
7288     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
7289     BSTR target();
7290 
7291     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
7292     void name(BSTR v);
7293 
7294     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
7295     BSTR name();
7296 
7297     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7298     void onsubmit(VARIANT v);
7299 
7300     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
7301     VARIANT onsubmit();
7302 
7303     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7304     void onreset(VARIANT v);
7305 
7306     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
7307     VARIANT onreset();
7308 
7309     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
7310     void submit();
7311 
7312     [id(DISPID_IHTMLFORMELEMENT_RESET)]
7313     void reset();
7314 
7315     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7316     void length(long v);
7317 
7318     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
7319     long length();
7320 
7321     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM), hidden, restricted]
7322     IUnknown *_newEnum();
7323 
7324     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
7325     IDispatch *item(VARIANT name, VARIANT index);
7326 
7327     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
7328     IDispatch *tags(VARIANT tagName);
7329 }
7330 
7331 [
7332     hidden,
7333     uuid(3050F364-98B5-11CF-BB82-00AA00BDCE0B)
7334 ]
7335 dispinterface HTMLFormElementEvents
7336 {
7337 properties:
7338 methods:
7339     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7340     VARIANT_BOOL onhelp();
7341 
7342     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7343     VARIANT_BOOL onclick();
7344 
7345     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7346     VARIANT_BOOL ondblclick();
7347 
7348     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7349     VARIANT_BOOL onkeypress();
7350 
7351     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7352     void onkeydown();
7353 
7354     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7355     void onkeyup();
7356 
7357     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7358     void onmouseout();
7359 
7360     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7361     void onmouseover();
7362 
7363     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7364     void onmousemove();
7365 
7366     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7367     void onmousedown();
7368 
7369     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7370     void onmouseup();
7371 
7372     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7373     VARIANT_BOOL onselectstart();
7374 
7375     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7376     void onfilterchange();
7377 
7378     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7379     VARIANT_BOOL ondragstart();
7380 
7381     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7382     VARIANT_BOOL onbeforeupdate();
7383 
7384     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7385     void onafterupdate();
7386 
7387     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7388     VARIANT_BOOL onerrorupdate();
7389 
7390     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7391     VARIANT_BOOL onrowexit();
7392 
7393     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7394     void onrowenter();
7395 
7396     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7397     void ondatasetchanged();
7398 
7399     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7400     void ondataavailable();
7401 
7402     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7403     void ondatasetcomplete();
7404 
7405     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7406     void onlosecapture();
7407 
7408     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7409     void onpropertychange();
7410 
7411     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7412     void onscroll();
7413 
7414     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7415     void onfocus();
7416 
7417     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7418     void onblur();
7419 
7420     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7421     void onresize();
7422 
7423     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7424     VARIANT_BOOL ondrag();
7425 
7426     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7427     void ondragend();
7428 
7429     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7430     VARIANT_BOOL ondragenter();
7431 
7432     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7433     VARIANT_BOOL ondragover();
7434 
7435     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7436     void ondragleave();
7437 
7438     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7439     VARIANT_BOOL ondrop();
7440 
7441     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7442     VARIANT_BOOL onbeforecut();
7443 
7444     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7445     VARIANT_BOOL oncut();
7446 
7447     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7448     VARIANT_BOOL onbeforecopy();
7449 
7450     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7451     VARIANT_BOOL oncopy();
7452 
7453     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7454     VARIANT_BOOL onbeforepaste();
7455 
7456     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7457     VARIANT_BOOL onpaste();
7458 
7459     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7460     VARIANT_BOOL oncontextmenu();
7461 
7462     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7463     void onrowsdelete();
7464 
7465     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7466     void onrowsinserted();
7467 
7468     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7469     void oncellchange();
7470 
7471     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7472     void onreadystatechange();
7473 
7474     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7475     void onbeforeeditfocus();
7476 
7477     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7478     void onlayoutcomplete();
7479 
7480     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7481     void onpage();
7482 
7483     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7484     VARIANT_BOOL onbeforedeactivate();
7485 
7486     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7487     VARIANT_BOOL onbeforeactivate();
7488 
7489     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7490     void onmove();
7491 
7492     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7493     VARIANT_BOOL oncontrolselect();
7494 
7495     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7496     VARIANT_BOOL onmovestart();
7497 
7498     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7499     void onmoveend();
7500 
7501     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7502     VARIANT_BOOL onresizestart();
7503 
7504     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7505     void onresizeend();
7506 
7507     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7508     void onmouseenter();
7509 
7510     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7511     void onmouseleave();
7512 
7513     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7514     VARIANT_BOOL onmousewheel();
7515 
7516     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7517     void onactivate();
7518 
7519     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7520     void ondeactivate();
7521 
7522     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7523     void onfocusin();
7524 
7525     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7526     void onfocusout();
7527 
7528     [id(DISPID_HTMLFORMELEMENTEVENTS_ONSUBMIT)]
7529     VARIANT_BOOL onsubmit();
7530 
7531     [id(DISPID_HTMLFORMELEMENTEVENTS_ONRESET)]
7532     VARIANT_BOOL onreset();
7533 }
7534 
7535 interface IHTMLEventObj;
7536 
7537 [
7538     hidden,
7539     uuid(3050F614-98B5-11CF-BB82-00AA00BDCE0B)
7540 ]
7541 dispinterface HTMLFormElementEvents2
7542 {
7543 properties:
7544 methods:
7545     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
7546     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
7547 
7548     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
7549     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
7550 
7551     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
7552     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
7553 
7554     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
7555     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
7556 
7557     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
7558     void onkeydown([in] IHTMLEventObj* pEvtObj);
7559 
7560     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
7561     void onkeyup([in] IHTMLEventObj* pEvtObj);
7562 
7563     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
7564     void onmouseout([in] IHTMLEventObj* pEvtObj);
7565 
7566     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
7567     void onmouseover([in] IHTMLEventObj* pEvtObj);
7568 
7569     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
7570     void onmousemove([in] IHTMLEventObj* pEvtObj);
7571 
7572     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
7573     void onmousedown([in] IHTMLEventObj* pEvtObj);
7574 
7575     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
7576     void onmouseup([in] IHTMLEventObj* pEvtObj);
7577 
7578     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
7579     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
7580 
7581     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
7582     void onfilterchange([in] IHTMLEventObj* pEvtObj);
7583 
7584     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
7585     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
7586 
7587     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
7588     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
7589 
7590     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
7591     void onafterupdate([in] IHTMLEventObj* pEvtObj);
7592 
7593     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
7594     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
7595 
7596     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
7597     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
7598 
7599     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
7600     void onrowenter([in] IHTMLEventObj* pEvtObj);
7601 
7602     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
7603     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
7604 
7605     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
7606     void ondataavailable([in] IHTMLEventObj* pEvtObj);
7607 
7608     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
7609     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
7610 
7611     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
7612     void onlosecapture([in] IHTMLEventObj* pEvtObj);
7613 
7614     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
7615     void onpropertychange([in] IHTMLEventObj* pEvtObj);
7616 
7617     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
7618     void onscroll([in] IHTMLEventObj* pEvtObj);
7619 
7620     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
7621     void onfocus([in] IHTMLEventObj* pEvtObj);
7622 
7623     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
7624     void onblur([in] IHTMLEventObj* pEvtObj);
7625 
7626     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
7627     void onresize([in] IHTMLEventObj* pEvtObj);
7628 
7629     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
7630     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
7631 
7632     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
7633     void ondragend([in] IHTMLEventObj* pEvtObj);
7634 
7635     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
7636     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
7637 
7638     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
7639     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
7640 
7641     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
7642     void ondragleave([in] IHTMLEventObj* pEvtObj);
7643 
7644     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
7645     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
7646 
7647     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
7648     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
7649 
7650     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
7651     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
7652 
7653     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
7654     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
7655 
7656     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
7657     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
7658 
7659     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
7660     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
7661 
7662     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
7663     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
7664 
7665     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
7666     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
7667 
7668     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
7669     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
7670 
7671     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
7672     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
7673 
7674     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
7675     void oncellchange([in] IHTMLEventObj* pEvtObj);
7676 
7677     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
7678     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
7679 
7680     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
7681     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
7682 
7683     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
7684     void onpage([in] IHTMLEventObj* pEvtObj);
7685 
7686     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
7687     void onmouseenter([in] IHTMLEventObj* pEvtObj);
7688 
7689     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
7690     void onmouseleave([in] IHTMLEventObj* pEvtObj);
7691 
7692     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
7693     void onactivate([in] IHTMLEventObj* pEvtObj);
7694 
7695     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
7696     void ondeactivate([in] IHTMLEventObj* pEvtObj);
7697 
7698     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
7699     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
7700 
7701     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
7702     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
7703 
7704     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
7705     void onfocusin([in] IHTMLEventObj* pEvtObj);
7706 
7707     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
7708     void onfocusout([in] IHTMLEventObj* pEvtObj);
7709 
7710     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
7711     void onmove([in] IHTMLEventObj* pEvtObj);
7712 
7713     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
7714     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
7715 
7716     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
7717     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
7718 
7719     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
7720     void onmoveend([in] IHTMLEventObj* pEvtObj);
7721 
7722     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
7723     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
7724 
7725     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
7726     void onresizeend([in] IHTMLEventObj* pEvtObj);
7727 
7728     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
7729     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
7730 
7731     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONSUBMIT)]
7732     VARIANT_BOOL onsubmit([in] IHTMLEventObj* pEvtObj);
7733 
7734     [id(DISPID_HTMLFORMELEMENTEVENTS2_ONRESET)]
7735     VARIANT_BOOL onreset([in] IHTMLEventObj* pEvtObj);
7736 }
7737 
7738 [
7739     noncreatable,
7740     uuid(3050F24D-98B5-11CF-BB82-00AA00BDCE0B)
7741 ]
7742 coclass HTMLFormElement
7743 {
7744     [default]           dispinterface DispHTMLFormElement;
7745     [source, default]   dispinterface HTMLFormElementEvents;
7746     [source]            dispinterface HTMLFormElementEvents2;
7747                         interface IHTMLElement;
7748                         interface IHTMLElement2;
7749                         interface IHTMLElement3;
7750                         interface IHTMLElement4;
7751                         interface IHTMLUniqueName;
7752                         interface IHTMLDOMNode;
7753                         interface IHTMLDOMNode2;
7754                         interface IHTMLDOMConstructor;
7755                         interface IHTMLFormElement;
7756 }
7757 
7758 /*****************************************************************************
7759  *    IHTMLTextContainer interface
7760  */
7761 [
7762     odl,
7763     oleautomation,
7764     dual,
7765     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
7766 ]
7767 interface IHTMLTextContainer : IDispatch
7768 {
7769     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
7770     HRESULT createControlRange([retval, out] IDispatch **range);
7771 
7772     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
7773     HRESULT scrollHeight([retval, out] LONG *p);
7774 
7775     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
7776     HRESULT scrollWidth([retval, out] LONG *p);
7777 
7778     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7779     HRESULT scrollTop([in] LONG v);
7780 
7781     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
7782     HRESULT scrollTop([retval, out] LONG *p);
7783 
7784     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7785     HRESULT scrollLeft([in] LONG v);
7786 
7787     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
7788     HRESULT scrollLeft([retval, out] LONG *p);
7789 
7790     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7791     HRESULT onscroll([in] VARIANT v);
7792 
7793     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
7794     HRESULT onscroll([retval, out] VARIANT *p);
7795 }
7796 
7797 /*****************************************************************************
7798  *    IHTMLImgElement interface
7799  */
7800 [
7801     odl,
7802     oleautomation,
7803     dual,
7804     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
7805 ]
7806 interface IHTMLImgElement : IDispatch
7807 {
7808     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7809     HRESULT isMap([in] VARIANT_BOOL v);
7810 
7811     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
7812     HRESULT isMap([retval, out] VARIANT_BOOL *p);
7813 
7814     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7815     HRESULT useMap([in] BSTR v);
7816 
7817     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
7818     HRESULT useMap([retval, out] BSTR *p);
7819 
7820     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7821     HRESULT mimeType([retval, out] BSTR *p);
7822 
7823     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7824     HRESULT fileSize([retval, out] BSTR *p);
7825 
7826     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7827     HRESULT fileCreatedDate([retval, out] BSTR *p);
7828 
7829     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7830     HRESULT fileModifiedDate([retval, out] BSTR *p);
7831 
7832     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7833     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7834 
7835     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7836     HRESULT protocol([retval, out] BSTR *p);
7837 
7838     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7839     HRESULT href([retval, out] BSTR *p);
7840 
7841     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7842     HRESULT nameProp([retval, out] BSTR *p);
7843 
7844     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7845     HRESULT border([in] VARIANT v);
7846 
7847     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
7848     HRESULT border([retval, out] VARIANT *p);
7849 
7850     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7851     HRESULT vspace([in] LONG v);
7852 
7853     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
7854     HRESULT vspace([retval, out] LONG *p);
7855 
7856     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7857     HRESULT hspace([in] LONG v);
7858 
7859     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
7860     HRESULT hspace([retval, out] LONG *p);
7861 
7862     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
7863     HRESULT alt([in] BSTR v);
7864 
7865     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
7866     HRESULT alt([retval, out] BSTR *p);
7867 
7868     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
7869     HRESULT src([in] BSTR v);
7870 
7871     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
7872     HRESULT src([retval, out] BSTR *p);
7873 
7874     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7875     HRESULT lowsrc([in] BSTR v);
7876 
7877     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
7878     HRESULT lowsrc([retval, out] BSTR *p);
7879 
7880     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
7881     HRESULT vrml([in] BSTR v);
7882 
7883     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
7884     HRESULT vrml([retval, out] BSTR *p);
7885 
7886     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7887     HRESULT dynsrc([in] BSTR v);
7888 
7889     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
7890     HRESULT dynsrc([retval, out] BSTR *p);
7891 
7892     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
7893     HRESULT readyState([retval, out] BSTR *p);
7894 
7895     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7896     HRESULT complete([retval, out] VARIANT_BOOL *p);
7897 
7898     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7899     HRESULT loop([in] VARIANT v);
7900 
7901     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
7902     HRESULT loop([retval, out] VARIANT *p);
7903 
7904     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7905     HRESULT align([in] BSTR v);
7906 
7907     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
7908     HRESULT align([retval, out] BSTR *p);
7909 
7910     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7911     HRESULT onload([in] VARIANT v);
7912 
7913     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
7914     HRESULT onload([retval, out] VARIANT *p);
7915 
7916     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7917     HRESULT onerror([in] VARIANT v);
7918 
7919     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
7920     HRESULT onerror([retval, out] VARIANT *p);
7921 
7922     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7923     HRESULT onabort([in] VARIANT v);
7924 
7925     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
7926     HRESULT onabort([retval, out] VARIANT *p);
7927 
7928     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
7929     HRESULT name([in] BSTR v);
7930 
7931     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
7932     HRESULT name([retval, out] BSTR *p);
7933 
7934     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7935     HRESULT width([in] LONG v);
7936 
7937     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7938     HRESULT width([retval, out] LONG *p);
7939 
7940     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7941     HRESULT height([in] LONG v);
7942 
7943     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7944     HRESULT height([retval, out] LONG *p);
7945 
7946     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
7947     HRESULT start([in] BSTR v);
7948 
7949     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
7950     HRESULT start([retval, out] BSTR *p);
7951 }
7952 
7953 /*****************************************************************************
7954  *    IHTMLImageElementFactory interface
7955  */
7956 [
7957     odl,
7958     oleautomation,
7959     dual,
7960     uuid(3050F38E-98B5-11CF-BB82-00AA00BDCE0B)
7961 ]
7962 interface IHTMLImageElementFactory : IDispatch
7963 {
7964     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
7965     HRESULT create(
7966         [optional, in] VARIANT width,
7967         [optional, in] VARIANT height,
7968         [retval, out]  IHTMLImgElement **elem);
7969 }
7970 
7971 /*****************************************************************************
7972  *    DispHTMLImg interface
7973  */
7974 [
7975     hidden,
7976     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
7977 ]
7978 dispinterface DispHTMLImg
7979 {
7980 properties:
7981 methods:
7982     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
7983 
7984     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7985     void isMap(VARIANT_BOOL v);
7986 
7987     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7988     VARIANT_BOOL isMap();
7989 
7990     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7991     void useMap(BSTR v);
7992 
7993     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7994     BSTR useMap();
7995 
7996     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7997     BSTR mimeType();
7998 
7999     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
8000     BSTR fileSize();
8001 
8002     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
8003     BSTR fileCreatedDate();
8004 
8005     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
8006     BSTR fileModifiedDate();
8007 
8008     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
8009     BSTR fileUpdatedDate();
8010 
8011     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
8012     BSTR protocol();
8013 
8014     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
8015     BSTR href();
8016 
8017     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
8018     BSTR nameProp();
8019 
8020     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
8021     void border(VARIANT v);
8022 
8023     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
8024     VARIANT border();
8025 
8026     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
8027     void vspace(LONG v);
8028 
8029     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
8030     LONG vspace();
8031 
8032     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
8033     void hspace(LONG v);
8034 
8035     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
8036     LONG hspace();
8037 
8038     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
8039     void alt(BSTR v);
8040 
8041     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
8042     BSTR alt();
8043 
8044     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
8045     void src(BSTR v);
8046 
8047     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
8048     BSTR src();
8049 
8050     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
8051     void lowsrc(BSTR v);
8052 
8053     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
8054     BSTR lowsrc();
8055 
8056     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
8057     void vrml(BSTR v);
8058 
8059     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
8060     BSTR vrml();
8061 
8062     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
8063     void dynsrc(BSTR v);
8064 
8065     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
8066     BSTR dynsrc();
8067 
8068     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
8069     VARIANT_BOOL complete();
8070 
8071     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
8072     void loop(VARIANT v);
8073 
8074     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
8075     VARIANT loop();
8076 
8077     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
8078     void align(BSTR v);
8079 
8080     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
8081     BSTR align();
8082 
8083     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
8084     void onload(VARIANT v);
8085 
8086     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
8087     VARIANT onload();
8088 
8089     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
8090     void onerror(VARIANT v);
8091 
8092     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
8093     VARIANT onerror();
8094 
8095     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
8096     void onabort(VARIANT v);
8097 
8098     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
8099     VARIANT onabort();
8100 
8101     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
8102     void name(BSTR v);
8103 
8104     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
8105     BSTR name();
8106 
8107     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
8108     void width(LONG v);
8109 
8110     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
8111     LONG width();
8112 
8113     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
8114     void height(LONG v);
8115 
8116     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
8117     LONG height();
8118 
8119     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
8120     void start(BSTR v);
8121 
8122     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
8123     BSTR start();
8124 
8125     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
8126     void longDesc(BSTR v);
8127 
8128     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
8129     BSTR longDesc();
8130 }
8131 
8132 /*****************************************************************************
8133  *    IHTMLXMLHttpRequest interface
8134  */
8135 [
8136     odl,
8137     oleautomation,
8138     dual,
8139     uuid(3051040a-98b5-11cf-bb82-00aa00bdce0b)
8140 ]
8141 interface IHTMLXMLHttpRequest : IDispatch
8142 {
8143     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
8144     HRESULT readyState([out, retval] long *p);
8145 
8146     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
8147     HRESULT responseBody([out, retval] VARIANT *p);
8148 
8149     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
8150     HRESULT responseText([out, retval] BSTR *p);
8151 
8152     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
8153     HRESULT responseXML([out, retval] IDispatch **p);
8154 
8155     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
8156     HRESULT status([out, retval] long *p);
8157 
8158     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
8159     HRESULT statusText([out, retval] BSTR *p);
8160 
8161     [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8162     HRESULT onreadystatechange([in] VARIANT v);
8163 
8164     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8165     HRESULT onreadystatechange([out, retval] VARIANT *p);
8166 
8167     [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)] HRESULT abort();
8168 
8169     [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
8170     HRESULT open(
8171             [in] BSTR bstrMethod,
8172             [in] BSTR bstrUrl,
8173             [in] VARIANT varAsync,
8174             [in, optional] VARIANT varUser,
8175             [in, optional] VARIANT varPassword);
8176 
8177     [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
8178     HRESULT send([in, optional] VARIANT varBody);
8179 
8180     [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
8181     HRESULT getAllResponseHeaders([out, retval] BSTR *p);
8182 
8183     [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
8184     HRESULT getResponseHeader(
8185             [in] BSTR bstrHeader,
8186             [out, retval] BSTR *p);
8187 
8188     [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
8189     HRESULT setRequestHeader(
8190             [in] BSTR bstrHeader,
8191             [in] BSTR bstrValue);
8192 }
8193 
8194 /*****************************************************************************
8195  *    IHTMLXMLHttpRequest2 interface
8196  */
8197 [
8198     odl,
8199     oleautomation,
8200     dual,
8201     uuid(30510482-98b5-11cf-bb82-00aa00bdce0b)
8202 ]
8203 interface IHTMLXMLHttpRequest2 : IDispatch
8204 {
8205     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8206     HRESULT timeout([in] long v);
8207 
8208     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8209     HRESULT timeout([out, retval] long *p);
8210 
8211     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8212     HRESULT ontimeout([in] VARIANT v);
8213 
8214     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8215     HRESULT ontimeout([out, retval] VARIANT *p);
8216 }
8217 
8218 /*****************************************************************************
8219  *    IHTMLXMLHttpRequestFactory interface
8220  */
8221 [
8222     odl,
8223     oleautomation,
8224     dual,
8225     uuid(3051040c-98b5-11cf-bb82-00aa00bdce0b)
8226 ]
8227 interface IHTMLXMLHttpRequestFactory : IDispatch
8228 {
8229     [id(DISPID_IHTMLXMLHTTPREQUESTFACTORY_CREATE)]
8230     HRESULT create([out, retval] IHTMLXMLHttpRequest **p);
8231 }
8232 
8233 /*****************************************************************************
8234  *    DispHTMLXMLHttpRequest dispinterface
8235  */
8236 [
8237     hidden,
8238     uuid(3050f596-98b5-11cf-bb82-00aa00bdce0b)
8239 ]
8240 dispinterface DispHTMLXMLHttpRequest
8241 {
8242 properties:
8243 methods:
8244     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_READYSTATE)]
8245     long readyState();
8246 
8247     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEBODY)]
8248     VARIANT responseBody();
8249 
8250     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSETEXT)]
8251     BSTR responseText();
8252 
8253     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_RESPONSEXML)]
8254     IDispatch *responseXML();
8255 
8256     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUS)]
8257     long status();
8258 
8259     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_STATUSTEXT)]
8260     BSTR statusText();
8261 
8262     [propput, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8263     void onreadystatechange(VARIANT v);
8264 
8265     [propget, id(DISPID_IHTMLXMLHTTPREQUEST_ONREADYSTATECHANGE), displaybind, bindable]
8266     VARIANT onreadystatechange();
8267 
8268     [id(DISPID_IHTMLXMLHTTPREQUEST_ABORT)]
8269     void abort();
8270 
8271     [id(DISPID_IHTMLXMLHTTPREQUEST_OPEN)]
8272     void open(
8273             [in] BSTR bstrMethod,
8274             [in] BSTR bstrUrl,
8275             [in] VARIANT varAsync,
8276             [in, optional] VARIANT varUser,
8277             [in, optional] VARIANT varPassword);
8278 
8279     [id(DISPID_IHTMLXMLHTTPREQUEST_SEND)]
8280     void send([in, optional] VARIANT varBody);
8281 
8282     [id(DISPID_IHTMLXMLHTTPREQUEST_GETALLRESPONSEHEADERS)]
8283     BSTR getAllResponseHeaders();
8284 
8285     [id(DISPID_IHTMLXMLHTTPREQUEST_GETRESPONSEHEADER)]
8286     BSTR getResponseHeader([in] BSTR bstrHeader);
8287 
8288     [id(DISPID_IHTMLXMLHTTPREQUEST_SETREQUESTHEADER)]
8289     void setRequestHeader(
8290             [in] BSTR bstrHeader,
8291             [in] BSTR bstrValue);
8292 
8293     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8294     void timeout(long v);
8295 
8296     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_TIMEOUT)]
8297     long timeout();
8298 
8299     [propput, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8300     void ontimeout(VARIANT v);
8301 
8302     [propget, id(DISPID_IHTMLXMLHTTPREQUEST2_ONTIMEOUT), displaybind, bindable]
8303     VARIANT ontimeout();
8304 
8305     WINE_IHTMLDOMCONSTRUCTOR_DISPINTERFACE_DECL;
8306 
8307 
8308     [id(DISPID_IEVENTTARGET_ADDEVENTLISTENER)]
8309     void addEventListener(
8310             [in] BSTR type,
8311             [in] IDispatch *listener,
8312             [in] VARIANT_BOOL useCapture);
8313 
8314     [id(DISPID_IEVENTTARGET_REMOVEEVENTLISTENER)]
8315     void removeEventListener(
8316             [in] BSTR type,
8317             [in] IDispatch *listener,
8318             [in] VARIANT_BOOL useCapture);
8319 
8320     [id(DISPID_IEVENTTARGET_DISPATCHEVENT)]
8321     VARIANT_BOOL dispatchEvent([in] IDOMEvent *evt);
8322 }
8323 
8324 /*****************************************************************************
8325  *    IHTMLControlElement interface
8326  */
8327 [
8328     odl,
8329     oleautomation,
8330     dual,
8331     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
8332 ]
8333 interface IHTMLControlElement : IDispatch
8334 {
8335     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
8336     HRESULT tabIndex([in] short v);
8337 
8338     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
8339     HRESULT tabIndex([retval, out] short * p);
8340 
8341     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
8342     HRESULT focus();
8343 
8344     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8345     HRESULT accessKey([in] BSTR v);
8346 
8347     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
8348     HRESULT accessKey([retval, out] BSTR * p);
8349 
8350     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8351     HRESULT onblur([in] VARIANT v);
8352 
8353     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
8354     HRESULT onblur([retval, out] VARIANT * p);
8355 
8356     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8357     HRESULT onfocus([in] VARIANT v);
8358 
8359     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
8360     HRESULT onfocus([retval, out] VARIANT * p);
8361 
8362     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8363     HRESULT onresize([in] VARIANT v);
8364 
8365     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
8366     HRESULT onresize([retval, out] VARIANT * p);
8367 
8368     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
8369     HRESULT blur();
8370 
8371     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
8372     HRESULT addFilter([in] IUnknown* pUnk);
8373 
8374     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
8375     HRESULT removeFilter([in] IUnknown* pUnk);
8376 
8377     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
8378     HRESULT clientHeight([retval, out] LONG * p);
8379 
8380     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
8381     HRESULT clientWidth([retval, out] LONG * p);
8382 
8383     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
8384     HRESULT clientTop([retval, out] LONG * p);
8385 
8386     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
8387     HRESULT clientLeft([retval, out] LONG * p);
8388 }
8389 
8390 /*****************************************************************************
8391  *    IHTMLBodyElement interface
8392  */
8393 [
8394     odl,
8395     oleautomation,
8396     dual,
8397     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
8398 ]
8399 interface IHTMLBodyElement : IDispatch
8400 {
8401     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8402     HRESULT background([in] BSTR v);
8403 
8404     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8405     HRESULT background([retval, out] BSTR *p);
8406 
8407     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8408     HRESULT bgProperties([in] BSTR v);
8409 
8410     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8411     HRESULT bgProperties([retval, out] BSTR *p);
8412 
8413     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8414     HRESULT leftMargin([in] VARIANT v);
8415 
8416     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8417     HRESULT leftMargin([retval, out] VARIANT *p);
8418 
8419     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8420     HRESULT topMargin([in] VARIANT v);
8421 
8422     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8423     HRESULT topMargin([retval, out] VARIANT *p);
8424 
8425     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8426     HRESULT rightMargin([in] VARIANT v);
8427 
8428     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8429     HRESULT rightMargin([retval, out] VARIANT *p);
8430 
8431     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8432     HRESULT bottomMargin([in] VARIANT v);
8433 
8434     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8435     HRESULT bottomMargin([retval, out] VARIANT *p);
8436 
8437     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8438     HRESULT noWrap([in] VARIANT_BOOL v);
8439 
8440     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8441     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
8442 
8443     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8444     HRESULT bgColor([in] VARIANT v);
8445 
8446     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8447     HRESULT bgColor([retval, out] VARIANT *p);
8448 
8449     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8450     HRESULT text([in] VARIANT v);
8451 
8452     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8453     HRESULT text([retval, out] VARIANT *p);
8454 
8455     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8456     HRESULT link([in] VARIANT v);
8457 
8458     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8459     HRESULT link([retval, out] VARIANT *p);
8460 
8461     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8462     HRESULT vLink([in] VARIANT v);
8463 
8464     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8465     HRESULT vLink([retval, out] VARIANT *p);
8466 
8467     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8468     HRESULT aLink([in] VARIANT v);
8469 
8470     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8471     HRESULT aLink([retval, out] VARIANT *p);
8472 
8473     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8474     HRESULT onload([in] VARIANT v);
8475 
8476     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8477     HRESULT onload([retval, out] VARIANT *p);
8478 
8479     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8480     HRESULT onunload([in] VARIANT v);
8481 
8482     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8483     HRESULT onunload([retval, out] VARIANT *p);
8484 
8485     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8486     HRESULT scroll([in] BSTR v);
8487 
8488     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8489     HRESULT scroll([retval, out] BSTR *p);
8490 
8491     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8492     HRESULT onselect([in] VARIANT v);
8493 
8494     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8495     HRESULT onselect([retval, out] VARIANT *p);
8496 
8497     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8498     HRESULT onbeforeunload([in] VARIANT v);
8499 
8500     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8501     HRESULT onbeforeunload([retval, out] VARIANT *p);
8502 
8503     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8504     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8505 }
8506 
8507 /*****************************************************************************
8508  *    IHTMLBodyElement2 interface
8509  */
8510 [
8511     odl,
8512     oleautomation,
8513     dual,
8514     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
8515 ]
8516 interface IHTMLBodyElement2 : IDispatch
8517 {
8518     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8519     HRESULT onbeforeprint([in] VARIANT v);
8520 
8521     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8522     HRESULT onbeforeprint([retval, out] VARIANT *p);
8523 
8524     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8525     HRESULT onafterprint([in] VARIANT v);
8526 
8527     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8528     HRESULT onafterprint([retval, out] VARIANT *p);
8529 }
8530 
8531 [
8532     hidden,
8533     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
8534 ]
8535 dispinterface DispHTMLBody
8536 {
8537 properties:
8538 methods:
8539     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8540 
8541     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8542     void background(BSTR v);
8543 
8544     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8545     BSTR background();
8546 
8547     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8548     void bgProperties(BSTR v);
8549 
8550     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8551     BSTR bgProperties();
8552 
8553     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8554     void leftMargin(VARIANT v);
8555 
8556     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8557     VARIANT leftMargin();
8558 
8559     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8560     void topMargin(VARIANT v);
8561 
8562     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8563     VARIANT topMargin();
8564 
8565     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8566     void rightMargin(VARIANT v);
8567 
8568     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8569     VARIANT rightMargin();
8570 
8571     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8572     void bottomMargin(VARIANT v);
8573 
8574     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8575     VARIANT bottomMargin();
8576 
8577     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8578     void noWrap(VARIANT_BOOL v);
8579 
8580     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8581     VARIANT_BOOL noWrap();
8582 
8583     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8584     void bgColor(VARIANT v);
8585 
8586     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8587     VARIANT bgColor();
8588 
8589     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8590     void text(VARIANT v);
8591 
8592     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8593     VARIANT text();
8594 
8595     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8596     void link(VARIANT v);
8597 
8598     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8599     VARIANT link();
8600 
8601     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8602     void vLink(VARIANT v);
8603 
8604     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8605     VARIANT vLink();
8606 
8607     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8608     void aLink(VARIANT v);
8609 
8610     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8611     VARIANT aLink();
8612 
8613     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8614     void onload(VARIANT v);
8615 
8616     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8617     VARIANT onload();
8618 
8619     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8620     void onunload(VARIANT v);
8621 
8622     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8623     VARIANT onunload();
8624 
8625     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8626     void scroll(BSTR v);
8627 
8628     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8629     BSTR scroll();
8630 
8631     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8632     void onselect(VARIANT v);
8633 
8634     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8635     VARIANT onselect();
8636 
8637     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8638     void onbeforeunload(VARIANT v);
8639 
8640     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8641     VARIANT onbeforeunload();
8642 
8643     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8644     IHTMLTxtRange* createTextRange();
8645 
8646     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8647     void onbeforeprint(VARIANT v);
8648 
8649     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8650     VARIANT onbeforeprint();
8651 
8652     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8653     void onafterprint(VARIANT v);
8654 
8655     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8656     VARIANT onafterprint();
8657 }
8658 
8659 [
8660     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8661 ]
8662 coclass HTMLBody
8663 {
8664     [default]           dispinterface DispHTMLBody;
8665     [source, default]   dispinterface HTMLTextContainerEvents;
8666     [source]            dispinterface HTMLTextContainerEvents2;
8667                         interface IHTMLElement;
8668                         interface IHTMLElement2;
8669                         interface IHTMLElement3;
8670                         interface IHTMLElement4;
8671                         interface IHTMLUniqueName;
8672                         interface IHTMLDOMNode;
8673                         interface IHTMLDOMNode2;
8674                         interface IHTMLControlElement;
8675                         interface IHTMLTextContainer;
8676                         interface IHTMLBodyElement;
8677                         interface IHTMLBodyElement2;
8678 }
8679 
8680 /*****************************************************************************
8681  *    IHTMLAnchorElement interface
8682  */
8683 [
8684     odl,
8685     oleautomation,
8686     dual,
8687     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8688 ]
8689 interface IHTMLAnchorElement : IDispatch
8690 {
8691     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8692     HRESULT href([in] BSTR v);
8693 
8694     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8695     HRESULT href([retval, out] BSTR *p);
8696 
8697     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8698     HRESULT target([in] BSTR v);
8699 
8700     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8701     HRESULT target([retval, out] BSTR *p);
8702 
8703     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8704     HRESULT rel([in] BSTR v);
8705 
8706     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8707     HRESULT rel([retval, out] BSTR *p);
8708 
8709     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8710     HRESULT rev([in] BSTR v);
8711 
8712     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8713     HRESULT rev([retval, out] BSTR *p);
8714 
8715     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8716     HRESULT urn([in] BSTR v);
8717 
8718     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8719     HRESULT urn([retval, out] BSTR *p);
8720 
8721     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8722     HRESULT Methods([in] BSTR v);
8723 
8724     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8725     HRESULT Methods([retval, out] BSTR *p);
8726 
8727     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8728     HRESULT name([in] BSTR v);
8729 
8730     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8731     HRESULT name([retval, out] BSTR *p);
8732 
8733     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8734     HRESULT host([in] BSTR v);
8735 
8736     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8737     HRESULT host([retval, out] BSTR *p);
8738 
8739     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8740     HRESULT hostname([in] BSTR v);
8741 
8742     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8743     HRESULT hostname([retval, out] BSTR *p);
8744 
8745     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8746     HRESULT pathname([in] BSTR v);
8747 
8748     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8749     HRESULT pathname([retval, out] BSTR *p);
8750 
8751     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8752     HRESULT port([in] BSTR v);
8753 
8754     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8755     HRESULT port([retval, out] BSTR *p);
8756 
8757     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8758     HRESULT protocol([in] BSTR v);
8759 
8760     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8761     HRESULT protocol([retval, out] BSTR *p);
8762 
8763     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8764     HRESULT search([in] BSTR v);
8765 
8766     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8767     HRESULT search([retval, out] BSTR *p);
8768 
8769     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8770     HRESULT hash([in] BSTR v);
8771 
8772     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8773     HRESULT hash([retval, out] BSTR *p);
8774 
8775     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8776     HRESULT onblur([in] VARIANT v);
8777 
8778     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8779     HRESULT onblur([retval, out] VARIANT *p);
8780 
8781     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8782     HRESULT onfocus([in] VARIANT v);
8783 
8784     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8785     HRESULT onfocus([retval, out] VARIANT *p);
8786 
8787     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8788     HRESULT accessKey([in] BSTR v);
8789 
8790     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8791     HRESULT accessKey([retval, out] BSTR *p);
8792 
8793     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8794     HRESULT protocolLong([retval, out] BSTR *p);
8795 
8796     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8797     HRESULT mimeType([retval, out] BSTR *p);
8798 
8799     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8800     HRESULT nameProp([retval, out] BSTR *p);
8801 
8802     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8803     HRESULT tabIndex([in] short v);
8804 
8805     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8806     HRESULT tabIndex([retval, out] short *p);
8807 
8808     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8809     HRESULT focus();
8810 
8811     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8812     HRESULT blur();
8813 }
8814 
8815 /*****************************************************************************
8816  *    DispHTMLAnchorElement dispinterface
8817  */
8818 [
8819     hidden,
8820     uuid(3050f502-98b5-11cf-bb82-00aa00bdce0b)
8821 ]
8822 dispinterface DispHTMLAnchorElement
8823 {
8824 properties:
8825 methods:
8826     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
8827 
8828     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8829     void href(BSTR v);
8830 
8831     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8832     BSTR href();
8833 
8834     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8835     void target(BSTR v);
8836 
8837     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8838     BSTR target();
8839 
8840     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8841     void rel(BSTR v);
8842 
8843     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8844     BSTR rel();
8845 
8846     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8847     void rev(BSTR v);
8848 
8849     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8850     BSTR rev();
8851 
8852     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8853     void urn(BSTR v);
8854 
8855     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8856     BSTR urn();
8857 
8858     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8859     void Methods(BSTR v);
8860 
8861     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8862     BSTR Methods();
8863 
8864     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8865     void name(BSTR v);
8866 
8867     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8868     BSTR name();
8869 
8870     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8871     void host(BSTR v);
8872 
8873     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8874     BSTR host();
8875 
8876     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8877     void hostname(BSTR v);
8878 
8879     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8880     BSTR hostname();
8881 
8882     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8883     void pathname(BSTR v);
8884 
8885     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8886     BSTR pathname();
8887 
8888     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8889     void port(BSTR v);
8890 
8891     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8892     BSTR port();
8893 
8894     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8895     void protocol(BSTR v);
8896 
8897     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8898     BSTR protocol();
8899 
8900     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8901     void search(BSTR v);
8902 
8903     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8904     BSTR search();
8905 
8906     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8907     void hash(BSTR v);
8908 
8909     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8910     BSTR hash();
8911 
8912     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8913     BSTR protocolLong();
8914 
8915     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8916     BSTR mimeType();
8917 
8918     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8919     BSTR nameProp();
8920 
8921     [propput, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8922     void charset(BSTR v);
8923 
8924     [propget, id(DISPID_IHTMLANCHORELEMENT2_CHARSET), displaybind, bindable]
8925     BSTR charset();
8926 
8927     [propput, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8928     void coords(BSTR v);
8929 
8930     [propget, id(DISPID_IHTMLANCHORELEMENT2_COORDS), displaybind, bindable]
8931     BSTR coords();
8932 
8933     [propput, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8934     void hreflang(BSTR v);
8935 
8936     [propget, id(DISPID_IHTMLANCHORELEMENT2_HREFLANG), displaybind, bindable]
8937     BSTR hreflang();
8938 
8939     [propput, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8940     void shape(BSTR v);
8941 
8942     [propget, id(DISPID_IHTMLANCHORELEMENT2_SHAPE), displaybind, bindable]
8943     BSTR shape();
8944 
8945     [propput, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8946     void type(BSTR v);
8947 
8948     [propget, id(DISPID_IHTMLANCHORELEMENT2_TYPE), displaybind, bindable]
8949     BSTR type();
8950 
8951     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8952     void ie8_shape(BSTR v);
8953 
8954     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_SHAPE)]
8955     BSTR ie8_shape();
8956 
8957     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8958     void ie8_coords(BSTR v);
8959 
8960     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_COORDS)]
8961     BSTR ie8_coords();
8962 
8963     [propput, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8964     void ie8_href(BSTR v);
8965 
8966     [propget, id(DISPID_IHTMLANCHORELEMENT3_IE8_HREF)]
8967     BSTR ie8_href();
8968 }
8969 
8970 /*****************************************************************************
8971  *    IHTMLLabelElement interface
8972  */
8973 [
8974     odl,
8975     oleautomation,
8976     dual,
8977     uuid(3050f32a-98b5-11cf-bb82-00aa00bdce0b)
8978 ]
8979 interface IHTMLLabelElement : IDispatch
8980 {
8981     [propput, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
8982     HRESULT htmlFor([in] BSTR v);
8983 
8984     [propget, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
8985     HRESULT htmlFor([out, retval] BSTR *p);
8986 
8987     [propput, id(DISPID_IHTMLLABELELEMENT_ACCESSKEY), displaybind, bindable]
8988     HRESULT accessKey([in] BSTR v);
8989 
8990     [propget, id(DISPID_IHTMLLABELELEMENT_ACCESSKEY), displaybind, bindable]
8991     HRESULT accessKey([out, retval] BSTR *p);
8992 }
8993 
8994 /*****************************************************************************
8995  *    IHTMLLabelElement2 interface
8996  */
8997 [
8998     odl,
8999     oleautomation,
9000     dual,
9001     uuid(3050f832-98b5-11cf-bb82-00aa00bdce0b)
9002 ]
9003 interface IHTMLLabelElement2 : IDispatch
9004 {
9005     [propget, id(DISPID_IHTMLLABELELEMENT2_FORM)]
9006     HRESULT form([out, retval] IHTMLFormElement **p);
9007 }
9008 
9009 /*****************************************************************************
9010  *    DispHTMLLabelElement dispinterface
9011  */
9012 [
9013     hidden,
9014     uuid(3050f522-98b5-11cf-bb82-00aa00bdce0b)
9015 ]
9016 dispinterface DispHTMLLabelElement
9017 {
9018 properties:
9019 methods:
9020     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9021 
9022     [propput, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
9023     void htmlFor(BSTR v);
9024 
9025     [propget, id(DISPID_IHTMLLABELELEMENT_HTMLFOR), displaybind, bindable]
9026     BSTR htmlFor();
9027 
9028     [propget, id(DISPID_IHTMLLABELELEMENT2_FORM)]
9029     IHTMLFormElement *form();
9030 }
9031 
9032 /*****************************************************************************
9033  *    IHTMLElementCollection interface
9034  */
9035 [
9036     odl,
9037     oleautomation,
9038     dual,
9039     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
9040 ]
9041 interface IHTMLElementCollection : IDispatch
9042 {
9043     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
9044     HRESULT toString([retval, out] BSTR *String);
9045 
9046     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9047     HRESULT length([in] LONG v);
9048 
9049     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9050     HRESULT length([retval, out] LONG *p);
9051 
9052     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
9053     HRESULT _newEnum([retval, out] IUnknown **p);
9054 
9055     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
9056     HRESULT item(
9057         [optional, in] VARIANT name,
9058         [optional, in] VARIANT index,
9059         [retval,  out] IDispatch **pdisp);
9060 
9061     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
9062     HRESULT tags(
9063         [in] VARIANT tagName,
9064         [retval, out] IDispatch **pdisp);
9065 }
9066 
9067 /*****************************************************************************
9068  *    DispHTMLElementCollection dispinterface
9069  */
9070 [
9071     hidden,
9072     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
9073 ]
9074 dispinterface DispHTMLElementCollection
9075 {
9076 properties:
9077 methods:
9078     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
9079     BSTR toString();
9080 
9081     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9082     void length(LONG v);
9083 
9084     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
9085     LONG length();
9086 
9087     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
9088     IUnknown *_newEnum();
9089 
9090     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
9091     IDispatch *item(
9092             [in, optional] VARIANT name,
9093             [in, optional] VARIANT index);
9094 
9095     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
9096     IDispatch *tags(
9097             [in] VARIANT tagName);
9098 
9099     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
9100     IDispatch *urns([in] VARIANT urn);
9101 
9102     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
9103     IDispatch *namedItem([in] BSTR name);
9104 }
9105 
9106 /*****************************************************************************
9107  *    IHTMLSelectElement interface
9108  */
9109 [
9110     odl,
9111     oleautomation,
9112     dual,
9113     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
9114 ]
9115 interface IHTMLSelectElement : IDispatch
9116 {
9117     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9118     HRESULT size([in] LONG v);
9119 
9120     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9121     HRESULT size([retval, out] LONG *p);
9122 
9123     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9124     HRESULT multiple([in] VARIANT_BOOL v);
9125 
9126     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9127     HRESULT multiple([retval, out] VARIANT_BOOL *p);
9128 
9129     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9130     HRESULT name([in] BSTR v);
9131 
9132     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9133     HRESULT name([retval, out] BSTR *p);
9134 
9135     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9136     HRESULT options([retval, out] IDispatch **p);
9137 
9138     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9139     HRESULT onchange([in] VARIANT v);
9140 
9141     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9142     HRESULT onchange([retval, out] VARIANT *p);
9143 
9144     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9145     HRESULT selectedIndex([in] LONG v);
9146 
9147     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9148     HRESULT selectedIndex([retval, out] LONG *p);
9149 
9150     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9151     HRESULT type([retval, out] BSTR *p);
9152 
9153     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9154     HRESULT value([in] BSTR v);
9155 
9156     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9157     HRESULT value([retval, out] BSTR *p);
9158 
9159     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
9160     HRESULT disabled([in] VARIANT_BOOL v);
9161 
9162     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
9163     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9164 
9165     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9166     HRESULT form([retval, out] IHTMLFormElement **p);
9167 
9168     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9169     HRESULT add(
9170         [in] IHTMLElement *element,
9171         [optional, in] VARIANT before);
9172 
9173     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9174     HRESULT remove([defaultvalue(-1), in] LONG index);
9175 
9176     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9177     HRESULT length([in] LONG v);
9178 
9179     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9180     HRESULT length([retval, out] LONG *p);
9181 
9182     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9183     HRESULT _newEnum([retval, out] IUnknown **p);
9184 
9185     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9186     HRESULT item(
9187         [optional, in] VARIANT name,
9188         [optional, in] VARIANT index,
9189         [retval, out] IDispatch **pdisp);
9190 
9191     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9192     HRESULT tags(
9193         [in] VARIANT tagName,
9194         [retval, out] IDispatch **pdisp);
9195 }
9196 
9197 /*****************************************************************************
9198  *    DispHTMLSelectElement dispinterface
9199  */
9200 [
9201     hidden,
9202     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
9203 ]
9204 dispinterface DispHTMLSelectElement
9205 {
9206 properties:
9207 methods:
9208     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9209 
9210     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9211     void size(LONG v);
9212 
9213     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9214     LONG size();
9215 
9216     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9217     void multiple(VARIANT_BOOL v);
9218 
9219     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9220     VARIANT_BOOL multiple();
9221 
9222     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9223     void name(BSTR v);
9224 
9225     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9226     BSTR name();
9227 
9228     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9229     IDispatch *options();
9230 
9231     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9232     void onchange(VARIANT v);
9233 
9234     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9235     VARIANT onchange();
9236 
9237     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9238     void selectedIndex(LONG v);
9239 
9240     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9241     LONG selectedIndex();
9242 
9243     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9244     BSTR type();
9245 
9246     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9247     void value(BSTR v);
9248 
9249     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9250     BSTR value();
9251 
9252     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9253     IHTMLFormElement *form();
9254 
9255     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9256     void add(
9257             [in] IHTMLElement *element,
9258             [in, optional] VARIANT before);
9259 
9260     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9261     void remove([in, defaultvalue(-1)] LONG index);
9262 
9263     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9264     void length(LONG v);
9265 
9266     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9267     LONG length();
9268 
9269     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9270     IUnknown *_newEnum();
9271 
9272     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9273     IDispatch *item(
9274             [in, optional] VARIANT name,
9275             [in, optional] VARIANT index);
9276 
9277     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9278     IDispatch *tags([in] VARIANT tagName);
9279 
9280     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9281     IDispatch *urns([in] VARIANT urn);
9282 
9283     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9284     IDispatch *namedItem([in] BSTR name);
9285 }
9286 
9287 /*****************************************************************************
9288  *    IHTMLSelectionObject interface
9289  */
9290 [
9291     odl,
9292     oleautomation,
9293     dual,
9294     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9295 ]
9296 interface IHTMLSelectionObject : IDispatch
9297 {
9298     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9299     HRESULT createRange([retval, out] IDispatch **range);
9300 
9301     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9302     HRESULT empty();
9303 
9304     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9305     HRESULT clear();
9306 
9307     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9308     HRESULT type([retval, out] BSTR *p);
9309 }
9310 
9311 /*****************************************************************************
9312  *    IHTMLOptionElement interface
9313  */
9314 [
9315     odl,
9316     oleautomation,
9317     dual,
9318     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9319 ]
9320 interface IHTMLOptionElement : IDispatch
9321 {
9322     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9323     HRESULT selected([in] VARIANT_BOOL v);
9324 
9325     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9326     HRESULT selected([retval, out] VARIANT_BOOL *p);
9327 
9328     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9329     HRESULT value([in] BSTR v);
9330 
9331     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9332     HRESULT value([retval, out] BSTR *p);
9333 
9334     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9335     HRESULT defaultSelected([in] VARIANT_BOOL v);
9336 
9337     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9338     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9339 
9340     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9341     HRESULT index([in] LONG v);
9342 
9343     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9344     HRESULT index([retval, out] LONG *p);
9345 
9346     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9347     HRESULT text([in] BSTR v);
9348 
9349     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9350     HRESULT text([retval, out] BSTR *p);
9351 
9352     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9353     HRESULT form([retval, out] IHTMLFormElement **p);
9354 }
9355 
9356 [
9357     odl,
9358     oleautomation,
9359     dual,
9360     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
9361 ]
9362 interface IHTMLOptionElement3 : IDispatch
9363 {
9364     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9365     HRESULT label([in] BSTR v);
9366 
9367     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9368     HRESULT label([retval, out] BSTR * p);
9369 }
9370 
9371 /*****************************************************************************
9372  *    IHTMLOptionElementFactory interface
9373  */
9374 [
9375     odl,
9376     oleautomation,
9377     dual,
9378     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9379 ]
9380 interface IHTMLOptionElementFactory : IDispatch
9381 {
9382     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9383     HRESULT create(
9384         [optional, in] VARIANT text,
9385         [optional, in] VARIANT value,
9386         [optional, in] VARIANT defaultselected,
9387         [optional, in] VARIANT selected,
9388         [retval, out] IHTMLOptionElement **optelem);
9389 }
9390 
9391 /*****************************************************************************
9392  *    DispHTMLOptionElement dispinterface
9393  */
9394 [
9395     hidden,
9396     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9397 ]
9398 dispinterface DispHTMLOptionElement
9399 {
9400 properties:
9401 methods:
9402     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9403 
9404     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9405     void selected(VARIANT_BOOL v);
9406 
9407     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9408     VARIANT_BOOL selected();
9409 
9410     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9411     void value(BSTR v);
9412 
9413     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9414     BSTR value();
9415 
9416     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9417     void defaultSelected(VARIANT_BOOL v);
9418 
9419     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9420     VARIANT_BOOL defaultSelected();
9421 
9422     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9423     void index(LONG v);
9424 
9425     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9426     LONG index();
9427 
9428     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9429     void text(BSTR v);
9430 
9431     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9432     BSTR text();
9433 
9434     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9435     IHTMLFormElement *form();
9436 
9437     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9438     void label(BSTR v);
9439 
9440     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9441     BSTR label();
9442 }
9443 
9444 [
9445     noncreatable,
9446     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
9447 ]
9448 coclass HTMLOptionElement
9449 {
9450     [default]           dispinterface DispHTMLOptionElement;
9451     [source, default]   dispinterface HTMLElementEvents;
9452     [source]            dispinterface HTMLElementEvents2;
9453                         interface IHTMLElement;
9454                         interface IHTMLElement2;
9455                         interface IHTMLElement3;
9456                         interface IHTMLElement4;
9457                         interface IHTMLUniqueName;
9458                         interface IHTMLDOMNode;
9459                         interface IHTMLDOMNode2;
9460                         interface IHTMLDatabinding;
9461                         interface IHTMLOptionElement;
9462                         interface IHTMLOptionElement3;
9463 }
9464 
9465 /*****************************************************************************
9466  *    IHTMLInputElement interface
9467  */
9468 [
9469     odl,
9470     oleautomation,
9471     dual,
9472     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
9473 ]
9474 interface IHTMLInputElement : IDispatch
9475 {
9476     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9477     HRESULT type([in] BSTR v);
9478 
9479     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9480     HRESULT type([retval, out] BSTR *p);
9481 
9482     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9483     HRESULT value([in] BSTR v);
9484 
9485     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9486     HRESULT value([retval, out] BSTR *p);
9487 
9488     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9489     HRESULT name([in] BSTR v);
9490 
9491     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9492     HRESULT name([retval, out] BSTR *p);
9493 
9494     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9495     HRESULT status([in] VARIANT_BOOL v);
9496 
9497     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9498     HRESULT status([retval, out] VARIANT_BOOL *p);
9499 
9500     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9501     HRESULT disabled([in] VARIANT_BOOL v);
9502 
9503     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
9504     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9505 
9506     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9507     HRESULT form([retval, out] IHTMLFormElement **p);
9508 
9509     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9510     HRESULT size([in] LONG v);
9511 
9512     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9513     HRESULT size([retval, out] LONG *p);
9514 
9515     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9516     HRESULT maxLength([in] LONG v);
9517 
9518     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9519     HRESULT maxLength([retval, out] LONG *p);
9520 
9521     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9522     HRESULT select();
9523 
9524     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9525     HRESULT onchange([in] VARIANT v);
9526 
9527     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9528     HRESULT onchange([retval, out] VARIANT *p);
9529 
9530     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9531     HRESULT onselect([in] VARIANT v);
9532 
9533     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9534     HRESULT onselect([retval, out] VARIANT *p);
9535 
9536     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9537     HRESULT defaultValue([in] BSTR v);
9538 
9539     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9540     HRESULT defaultValue([retval, out] BSTR *p);
9541 
9542     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9543     HRESULT readOnly([in] VARIANT_BOOL v);
9544 
9545     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9546     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9547 
9548     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9549     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9550 
9551     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9552     HRESULT indeterminate([in] VARIANT_BOOL v);
9553 
9554     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9555     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
9556 
9557     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9558     HRESULT defaultChecked([in] VARIANT_BOOL v);
9559 
9560     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9561     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
9562 
9563     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9564     HRESULT checked([in] VARIANT_BOOL v);
9565 
9566     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9567     HRESULT checked([retval, out] VARIANT_BOOL *p);
9568 
9569     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9570     HRESULT border([in] VARIANT v);
9571 
9572     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9573     HRESULT border([retval, out] VARIANT *p);
9574 
9575     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9576     HRESULT vspace([in] LONG v);
9577 
9578     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9579     HRESULT vspace([retval, out] LONG *p);
9580 
9581     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9582     HRESULT hspace([in] LONG v);
9583 
9584     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9585     HRESULT hspace([retval, out] LONG *p);
9586 
9587     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9588     HRESULT alt([in] BSTR v);
9589 
9590     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9591     HRESULT alt([retval, out] BSTR *p);
9592 
9593     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9594     HRESULT src([in] BSTR v);
9595 
9596     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9597     HRESULT src([retval, out] BSTR *p);
9598 
9599     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9600     HRESULT lowsrc([in] BSTR v);
9601 
9602     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9603     HRESULT lowsrc([retval, out] BSTR *p);
9604 
9605     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9606     HRESULT vrml([in] BSTR v);
9607 
9608     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9609     HRESULT vrml([retval, out] BSTR *p);
9610 
9611     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9612     HRESULT dynsrc([in] BSTR v);
9613 
9614     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9615     HRESULT dynsrc([retval, out] BSTR *p);
9616 
9617     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
9618     HRESULT readyState([retval, out] BSTR *p);
9619 
9620     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9621     HRESULT complete([retval, out] VARIANT_BOOL *p);
9622 
9623     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9624     HRESULT loop([in] VARIANT v);
9625 
9626     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9627     HRESULT loop([retval, out] VARIANT *p);
9628 
9629     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9630     HRESULT align([in] BSTR v);
9631 
9632     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9633     HRESULT align([retval, out] BSTR *p);
9634 
9635     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9636     HRESULT onload([in] VARIANT v);
9637 
9638     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9639     HRESULT onload([retval, out] VARIANT *p);
9640 
9641     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9642     HRESULT onerror([in] VARIANT v);
9643 
9644     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9645     HRESULT onerror([retval, out] VARIANT *p);
9646 
9647     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9648     HRESULT onabort([in] VARIANT v);
9649 
9650     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9651     HRESULT onabort([retval, out] VARIANT *p);
9652 
9653     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9654     HRESULT width([in] LONG v);
9655 
9656     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9657     HRESULT width([retval, out] LONG *p);
9658 
9659     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9660     HRESULT height([in] LONG v);
9661 
9662     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9663     HRESULT height([retval, out] LONG *p);
9664 
9665     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9666     HRESULT start([in] BSTR v);
9667 
9668     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9669     HRESULT start([retval, out] BSTR *p);
9670 }
9671 
9672 /*****************************************************************************
9673  *    IHTMLInputTextElement interface
9674  */
9675 [
9676     odl,
9677     oleautomation,
9678     dual,
9679     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
9680 ]
9681 interface IHTMLInputTextElement : IDispatch
9682 {
9683     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
9684     HRESULT type([retval, out] BSTR *p);
9685 
9686     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9687     HRESULT value([in] BSTR v);
9688 
9689     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
9690     HRESULT value([retval, out] BSTR *p);
9691 
9692     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9693     HRESULT name([in] BSTR v);
9694 
9695     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
9696     HRESULT name([retval, out] BSTR *p);
9697 
9698     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9699     HRESULT status([in] VARIANT v);
9700 
9701     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
9702     HRESULT status([retval, out] VARIANT *p);
9703 
9704     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9705     HRESULT disabled([in] VARIANT_BOOL v);
9706 
9707     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
9708     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9709 
9710     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
9711     HRESULT form([retval, out] IHTMLFormElement **p);
9712 
9713     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9714     HRESULT defaultValue([in] BSTR v);
9715 
9716     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9717     HRESULT defaultValue([retval, out] BSTR *p);
9718 
9719     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9720     HRESULT size([in] LONG v);
9721 
9722     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
9723     HRESULT size([retval, out] LONG *p);
9724 
9725     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9726     HRESULT maxLength([in] LONG v);
9727 
9728     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
9729     HRESULT maxLength([retval, out] LONG *p);
9730 
9731     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
9732     HRESULT select();
9733 
9734     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9735     HRESULT onchange([in] VARIANT v);
9736 
9737     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
9738     HRESULT onchange([retval, out] VARIANT *p);
9739 
9740     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9741     HRESULT onselect([in] VARIANT v);
9742 
9743     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
9744     HRESULT onselect([retval, out] VARIANT *p);
9745 
9746     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9747     HRESULT readOnly([in] VARIANT_BOOL v);
9748 
9749     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
9750     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9751 
9752     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
9753     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9754 }
9755 
9756 [
9757     hidden,
9758     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
9759 ]
9760 dispinterface DispHTMLInputElement
9761 {
9762 properties:
9763 methods:
9764     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
9765 
9766     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9767     void type(BSTR v);
9768 
9769     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9770     BSTR type();
9771 
9772     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9773     void value(BSTR v);
9774 
9775     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9776     BSTR value();
9777 
9778     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9779     void name(BSTR v);
9780 
9781     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9782     BSTR name();
9783 
9784     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9785     void status(VARIANT_BOOL v);
9786 
9787     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9788     VARIANT_BOOL status();
9789 
9790     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9791     IHTMLFormElement *form();
9792 
9793     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9794     void size(LONG v);
9795 
9796     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9797     LONG size();
9798 
9799     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9800     void maxLength(LONG v);
9801 
9802     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9803     LONG maxLength();
9804 
9805     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9806     void select();
9807 
9808     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9809     void onchange(VARIANT v);
9810 
9811     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9812     VARIANT onchange();
9813 
9814     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9815     void onselect(VARIANT v);
9816 
9817     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9818     VARIANT onselect();
9819 
9820     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9821     void defaultValue(BSTR v);
9822 
9823     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9824     BSTR defaultValue();
9825 
9826     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9827     void readOnly(VARIANT_BOOL v);
9828 
9829     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9830     VARIANT_BOOL readOnly();
9831 
9832     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9833     IHTMLTxtRange *createTextRange();
9834 
9835     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9836     void indeterminate(VARIANT_BOOL v);
9837 
9838     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9839     VARIANT_BOOL indeterminate();
9840 
9841     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9842     void defaultChecked(VARIANT_BOOL v);
9843 
9844     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9845     VARIANT_BOOL defaultChecked();
9846 
9847     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9848     void checked(VARIANT_BOOL v);
9849 
9850     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9851     VARIANT_BOOL checked();
9852 
9853     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9854     void border(VARIANT v);
9855 
9856     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9857     VARIANT border();
9858 
9859     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9860     void vspace(LONG v);
9861 
9862     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9863     LONG vspace();
9864 
9865     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9866     void hspace(LONG v);
9867 
9868     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9869     LONG hspace();
9870 
9871     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9872     void alt(BSTR v);
9873 
9874     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9875     BSTR alt();
9876 
9877     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9878     void src(BSTR v);
9879 
9880     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9881     BSTR src();
9882 
9883     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9884     void lowsrc(BSTR v);
9885 
9886     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9887     BSTR lowsrc();
9888 
9889     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9890     void vrml(BSTR v);
9891 
9892     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9893     BSTR vrml();
9894 
9895     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9896     void dynsrc(BSTR v);
9897 
9898     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9899     BSTR dynsrc();
9900 
9901     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9902     VARIANT_BOOL complete();
9903 
9904     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9905     void loop(VARIANT v);
9906 
9907     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9908     VARIANT loop();
9909 
9910     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9911     void align(BSTR v);
9912 
9913     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9914     BSTR align();
9915 
9916     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9917     void onload(VARIANT v);
9918 
9919     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9920     VARIANT onload();
9921 
9922     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9923     void onerror(VARIANT v);
9924 
9925     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9926     VARIANT onerror();
9927 
9928     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9929     void onabort(VARIANT v);
9930 
9931     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9932     VARIANT onabort();
9933 
9934     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9935     void width(LONG v);
9936 
9937     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9938     LONG width();
9939 
9940     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9941     void height(LONG v);
9942 
9943     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9944     LONG height();
9945 
9946     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9947     void start(BSTR v);
9948 
9949     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9950     BSTR start();
9951 
9952     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9953     void accept(BSTR v);
9954 
9955     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9956     BSTR accept();
9957 
9958     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9959     void useMap(BSTR v);
9960 
9961     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9962     BSTR useMap();
9963 }
9964 
9965 /*****************************************************************************
9966  *    IHTMLTextAreaElement interface
9967  */
9968 [
9969     odl,
9970     oleautomation,
9971     dual,
9972     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9973 ]
9974 interface IHTMLTextAreaElement : IDispatch
9975 {
9976     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9977     HRESULT type([retval, out] BSTR *p);
9978 
9979     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9980     HRESULT value([in] BSTR v);
9981 
9982     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9983     HRESULT value([retval, out] BSTR *p);
9984 
9985     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9986     HRESULT name([in] BSTR v);
9987 
9988     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9989     HRESULT name([retval, out] BSTR *p);
9990 
9991     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9992     HRESULT status([in] VARIANT v);
9993 
9994     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9995     HRESULT status([retval, out] VARIANT *p);
9996 
9997     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9998     HRESULT disabled([in] VARIANT_BOOL v);
9999 
10000     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
10001     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10002 
10003     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
10004     HRESULT form([retval, out] IHTMLFormElement **p);
10005 
10006     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10007     HRESULT defaultValue([in] BSTR v);
10008 
10009     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10010     HRESULT defaultValue([retval, out] BSTR *p);
10011 
10012     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
10013     HRESULT select();
10014 
10015     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10016     HRESULT onchange([in] VARIANT v);
10017 
10018     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10019     HRESULT onchange([retval, out] VARIANT *p);
10020 
10021     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10022     HRESULT onselect([in] VARIANT v);
10023 
10024     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10025     HRESULT onselect([retval, out] VARIANT *p);
10026 
10027     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10028     HRESULT readOnly([in] VARIANT_BOOL v);
10029 
10030     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10031     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10032 
10033     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10034     HRESULT rows([in] LONG v);
10035 
10036     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10037     HRESULT rows([retval, out] LONG *p);
10038 
10039     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10040     HRESULT cols([in] LONG v);
10041 
10042     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10043     HRESULT cols([retval, out] LONG *p);
10044 
10045     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10046     HRESULT wrap([in] BSTR v);
10047 
10048     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10049     HRESULT wrap([retval, out] BSTR *p);
10050 
10051     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
10052     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10053 }
10054 
10055 /*****************************************************************************
10056  *    DispHTMLTextAreaElement dispinterface
10057  */
10058 [
10059     hidden,
10060     uuid(3050f521-98b5-11cf-bb82-00aa00bdce0b)
10061 ]
10062 dispinterface DispHTMLTextAreaElement
10063 {
10064 properties:
10065 methods:
10066     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
10067 
10068     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
10069     BSTR type();
10070 
10071     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10072     void value(BSTR v);
10073 
10074     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
10075     BSTR value();
10076 
10077     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10078     void name(BSTR v);
10079 
10080     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
10081     BSTR name();
10082 
10083     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10084     void status(VARIANT v);
10085 
10086     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
10087     VARIANT status();
10088 
10089     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
10090     IHTMLFormElement *form();
10091 
10092     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10093     void defaultValue(BSTR v);
10094 
10095     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10096     BSTR defaultValue();
10097 
10098     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
10099     void select();
10100 
10101     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10102     void onchange(VARIANT v);
10103 
10104     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
10105     VARIANT onchange();
10106 
10107     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10108     void onselect(VARIANT v);
10109 
10110     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
10111     VARIANT onselect();
10112 
10113     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10114     void readOnly(VARIANT_BOOL v);
10115 
10116     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
10117     VARIANT_BOOL readOnly();
10118 
10119     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10120     void rows(LONG v);
10121 
10122     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
10123     LONG rows();
10124 
10125     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10126     void cols(LONG v);
10127 
10128     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
10129     LONG cols();
10130 
10131     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10132     void wrap(BSTR v);
10133 
10134     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
10135     BSTR wrap();
10136 
10137     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
10138     IHTMLTxtRange *createTextRange();
10139 }
10140 
10141 /*****************************************************************************
10142  *    IHTMLButtonElement interface
10143  */
10144 [
10145     odl,
10146     oleautomation,
10147     dual,
10148     uuid(3050f2bb-98b5-11cf-bb82-00aa00bdce0b)
10149 ]
10150 interface IHTMLButtonElement : IDispatch
10151 {
10152     [propget, id(DISPID_IHTMLBUTTONELEMENT_TYPE)]
10153     HRESULT type([out, retval] BSTR *p);
10154 
10155     [propput, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10156     HRESULT value([in] BSTR v);
10157 
10158     [propget, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10159     HRESULT value([out, retval] BSTR *p);
10160 
10161     [propput, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10162     HRESULT name([in] BSTR v);
10163 
10164     [propget, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10165     HRESULT name([out, retval] BSTR *p);
10166 
10167     [propput, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10168     HRESULT status([in] VARIANT v);
10169 
10170     [propget, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10171     HRESULT status([out, retval] VARIANT *p);
10172 
10173     [propput, id(DISPID_IHTMLBUTTONELEMENT_DISABLED), displaybind, bindable]
10174     HRESULT disabled([in] VARIANT_BOOL v);
10175 
10176     [propget, id(DISPID_IHTMLBUTTONELEMENT_DISABLED), displaybind, bindable]
10177     HRESULT disabled([out, retval] VARIANT_BOOL *p);
10178 
10179     [propget, id(DISPID_IHTMLBUTTONELEMENT_FORM)]
10180     HRESULT form([out, retval] IHTMLFormElement **p);
10181 
10182     [id(DISPID_IHTMLBUTTONELEMENT_CREATETEXTRANGE)]
10183     HRESULT createTextRange([out, retval] IHTMLTxtRange **range);
10184 }
10185 
10186 /*****************************************************************************
10187  *    DispHTMLButtonElement dispinterface
10188  */
10189 [
10190     hidden,
10191     uuid(3050f51f-98b5-11cf-bb82-00aa00bdce0b)
10192 ]
10193 dispinterface DispHTMLButtonElement
10194 {
10195 properties:
10196 methods:
10197     WINE_HTMLDATAELEMENT_DISPINTERFACE_DECL;
10198 
10199     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
10200     IDispatch *constructor();
10201 
10202     [propget, id(DISPID_IHTMLBUTTONELEMENT_TYPE)]
10203     BSTR type();
10204 
10205     [propput, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10206     void value(BSTR v);
10207 
10208     [propget, id(DISPID_IHTMLBUTTONELEMENT_VALUE), displaybind, bindable]
10209     BSTR value();
10210 
10211     [propput, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10212     void name(BSTR v);
10213 
10214     [propget, id(DISPID_IHTMLBUTTONELEMENT_NAME), displaybind, bindable]
10215     BSTR name();
10216 
10217     [propput, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10218     void status(VARIANT v);
10219 
10220     [propget, id(DISPID_IHTMLBUTTONELEMENT_STATUS)]
10221     VARIANT status();
10222 
10223     [propget, id(DISPID_IHTMLBUTTONELEMENT_FORM)]
10224     IHTMLFormElement *form();
10225 
10226     [id(DISPID_IHTMLBUTTONELEMENT_CREATETEXTRANGE)]
10227     IHTMLTxtRange *createTextRange();
10228 }
10229 
10230 /*****************************************************************************
10231  *    IHTMLHeadElement interface
10232  */
10233 [
10234     odl,
10235     oleautomation,
10236     dual,
10237     uuid(3050f81d-98b5-11cf-bb82-00aa00bdce0b)
10238 ]
10239 interface IHTMLHeadElement : IDispatch
10240 {
10241     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10242     HRESULT profile([in] BSTR v);
10243 
10244     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10245     HRESULT profile([retval, out] BSTR *p);
10246 }
10247 
10248 /*****************************************************************************
10249  *    IHTMLHeadElement2 interface
10250  */
10251 [
10252     odl,
10253     oleautomation,
10254     dual,
10255     uuid(3051042f-98b5-11cf-bb82-00aa00bdce0b)
10256 ]
10257 interface IHTMLHeadElement2 : IDispatch
10258 {
10259     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10260     HRESULT profile([in] BSTR v);
10261 
10262     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10263     HRESULT profile([retval, out] BSTR *p);
10264 }
10265 
10266 /*****************************************************************************
10267  *    IHTMLTitleElement interface
10268  */
10269 [
10270     odl,
10271     oleautomation,
10272     dual,
10273     uuid(3050f322-98b5-11cf-bb82-00aa00bdce0b)
10274 ]
10275 interface IHTMLTitleElement : IDispatch
10276 {
10277     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10278     HRESULT text([in] BSTR v);
10279 
10280     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10281     HRESULT text([retval, out] BSTR *p);
10282 }
10283 
10284 /*****************************************************************************
10285  *    IHTMLMetaElement interface
10286  */
10287 [
10288     odl,
10289     oleautomation,
10290     dual,
10291     uuid(3050f203-98b5-11cf-bb82-00aa00bdce0b)
10292 ]
10293 interface IHTMLMetaElement : IDispatch
10294 {
10295     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10296     HRESULT httpEquiv([in] BSTR v);
10297 
10298     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10299     HRESULT httpEquiv([out, retval] BSTR *p);
10300 
10301     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10302     HRESULT content([in] BSTR v);
10303 
10304     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10305     HRESULT content([out, retval] BSTR *p);
10306 
10307     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10308     HRESULT name([in] BSTR v);
10309 
10310     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10311     HRESULT name([out, retval] BSTR *p);
10312 
10313     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10314     HRESULT url([in] BSTR v);
10315 
10316     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10317     HRESULT url([out, retval] BSTR *p);
10318 
10319     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10320     HRESULT charset([in] BSTR v);
10321 
10322     [propget, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10323     HRESULT charset([out, retval] BSTR *p);
10324 }
10325 
10326 /*****************************************************************************
10327  *    IHTMLMetaElement2 interface
10328  */
10329 [
10330     odl,
10331     oleautomation,
10332     dual,
10333     uuid(3050f81f-98b5-11cf-bb82-00aa00bdce0b)
10334 ]
10335 interface IHTMLMetaElement2 : IDispatch
10336 {
10337     [propput, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10338     HRESULT scheme([in] BSTR v);
10339 
10340     [propget, id(DISPID_IHTMLMETAELEMENT2_SCHEME), displaybind, bindable]
10341     HRESULT scheme([out, retval] BSTR *p);
10342 }
10343 
10344 /*****************************************************************************
10345  *    IHTMLMetaElement3 interface
10346  */
10347 [
10348     odl,
10349     oleautomation,
10350     dual,
10351     uuid(30510495-98b5-11cf-bb82-00aa00bdce0b)
10352 ]
10353 interface IHTMLMetaElement3 : IDispatch
10354 {
10355     [propput, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10356     HRESULT url([in] BSTR v);
10357 
10358     [propget, id(DISPID_IHTMLMETAELEMENT3_IE8_URL)]
10359     HRESULT url([out, retval] BSTR *p);
10360 }
10361 
10362 /*****************************************************************************
10363  *    DispHTMLHeadElement interface
10364  */
10365 [
10366     hidden,
10367     uuid(3050f561-98b5-11cf-bb82-00aa00bdce0b)
10368 ]
10369 dispinterface DispHTMLHeadElement
10370 {
10371 properties:
10372 methods:
10373     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10374 
10375     [propput, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10376     void profile(BSTR v);
10377 
10378     [propget, id(DISPID_IHTMLHEADELEMENT_PROFILE), displaybind, bindable]
10379     BSTR profile();
10380 
10381     [propput, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10382     void ie8_profile(BSTR v);
10383 
10384     [propget, id(DISPID_IHTMLHEADELEMENT2_IE8_PROFILE), displaybind, bindable]
10385     BSTR ie8_profile();
10386 }
10387 
10388 /*****************************************************************************
10389  *    DispHTMLTitleElement interface
10390  */
10391 [
10392     hidden,
10393     uuid(3050f516-98b5-11cf-bb82-00aa00bdce0b)
10394 ]
10395 dispinterface DispHTMLTitleElement
10396 {
10397 properties:
10398 methods:
10399     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10400 
10401     [propput, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10402     void text(BSTR v);
10403 
10404     [propget, id(DISPID_IHTMLTITLEELEMENT_TEXT), bindable]
10405     BSTR text();
10406 }
10407 
10408 /*****************************************************************************
10409  *    DispHTMLMetaElement dispinterface
10410  */
10411 [
10412     hidden,
10413     uuid(3050f517-98b5-11cf-bb82-00aa00bdce0b)
10414 ]
10415 dispinterface DispHTMLMetaElement
10416 {
10417 properties:
10418 methods:
10419     WINE_HTMLELEMENT_DISPINTERFACE_DECL;
10420 
10421     [propput, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10422     void httpEquiv(BSTR v);
10423 
10424     [propget, id(DISPID_IHTMLMETAELEMENT_HTTPEQUIV), displaybind, bindable]
10425     BSTR httpEquiv();
10426 
10427     [propput, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10428     void content(BSTR v);
10429 
10430     [propget, id(DISPID_IHTMLMETAELEMENT_CONTENT), displaybind, bindable]
10431     BSTR content();
10432 
10433     [propput, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10434     void name(BSTR v);
10435 
10436     [propget, id(DISPID_IHTMLMETAELEMENT_NAME), displaybind, bindable]
10437     BSTR name();
10438 
10439     [propput, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10440     void url(BSTR v);
10441 
10442     [propget, id(DISPID_IHTMLMETAELEMENT_URL), displaybind, bindable]
10443     BSTR url();
10444 
10445     [propput, id(DISPID_IHTMLMETAELEMENT_CHARSET), displaybind, bindable]
10446     void charset(BSTR v);