ReactOS 0.4.15-dev-7953-g1f49173
htmlarea.c
Go to the documentation of this file.
1/*
2 * Copyright 2015 Alex Henrie
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19#include "mshtml_private.h"
20
21typedef struct {
23
24 IHTMLAreaElement IHTMLAreaElement_iface;
25
28
29static inline HTMLAreaElement *impl_from_IHTMLAreaElement(IHTMLAreaElement *iface)
30{
31 return CONTAINING_RECORD(iface, HTMLAreaElement, IHTMLAreaElement_iface);
32}
33
34static HRESULT WINAPI HTMLAreaElement_QueryInterface(IHTMLAreaElement *iface, REFIID riid, void **ppv)
35{
37
38 return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
39}
40
41static ULONG WINAPI HTMLAreaElement_AddRef(IHTMLAreaElement *iface)
42{
44
45 return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
46}
47
48static ULONG WINAPI HTMLAreaElement_Release(IHTMLAreaElement *iface)
49{
51
52 return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
53}
54
55static HRESULT WINAPI HTMLAreaElement_GetTypeInfoCount(IHTMLAreaElement *iface, UINT *pctinfo)
56{
58 return IDispatchEx_GetTypeInfoCount(&This->element.node.event_target.dispex.IDispatchEx_iface, pctinfo);
59}
60
61static HRESULT WINAPI HTMLAreaElement_GetTypeInfo(IHTMLAreaElement *iface, UINT iTInfo,
62 LCID lcid, ITypeInfo **ppTInfo)
63{
65 return IDispatchEx_GetTypeInfo(&This->element.node.event_target.dispex.IDispatchEx_iface, iTInfo, lcid,
66 ppTInfo);
67}
68
69static HRESULT WINAPI HTMLAreaElement_GetIDsOfNames(IHTMLAreaElement *iface, REFIID riid,
70 LPOLESTR *rgszNames, UINT cNames,
71 LCID lcid, DISPID *rgDispId)
72{
74 return IDispatchEx_GetIDsOfNames(&This->element.node.event_target.dispex.IDispatchEx_iface, riid, rgszNames,
75 cNames, lcid, rgDispId);
76}
77
78static HRESULT WINAPI HTMLAreaElement_Invoke(IHTMLAreaElement *iface, DISPID dispIdMember,
79 REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
80 VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
81{
83 return IDispatchEx_Invoke(&This->element.node.event_target.dispex.IDispatchEx_iface, dispIdMember, riid,
84 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
85}
86
87static HRESULT WINAPI HTMLAreaElement_put_shape(IHTMLAreaElement *iface, BSTR v)
88{
90 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
91 return E_NOTIMPL;
92}
93
94static HRESULT WINAPI HTMLAreaElement_get_shape(IHTMLAreaElement *iface, BSTR *p)
95{
97 FIXME("(%p)->(%p)\n", This, p);
98 return E_NOTIMPL;
99}
100
101static HRESULT WINAPI HTMLAreaElement_put_coords(IHTMLAreaElement *iface, BSTR v)
102{
104 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
105 return E_NOTIMPL;
106}
107
108static HRESULT WINAPI HTMLAreaElement_get_coords(IHTMLAreaElement *iface, BSTR *p)
109{
111 FIXME("(%p)->(%p)\n", This, p);
112 return E_NOTIMPL;
113}
114
115static HRESULT WINAPI HTMLAreaElement_put_href(IHTMLAreaElement *iface, BSTR v)
116{
118 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
119 return E_NOTIMPL;
120}
121
122static HRESULT WINAPI HTMLAreaElement_get_href(IHTMLAreaElement *iface, BSTR *p)
123{
125 FIXME("(%p)->(%p)\n", This, p);
126 return E_NOTIMPL;
127}
128
129static HRESULT WINAPI HTMLAreaElement_put_target(IHTMLAreaElement *iface, BSTR v)
130{
132 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
133 return E_NOTIMPL;
134}
135
136static HRESULT WINAPI HTMLAreaElement_get_target(IHTMLAreaElement *iface, BSTR *p)
137{
139 FIXME("(%p)->(%p)\n", This, p);
140 return E_NOTIMPL;
141}
142
143static HRESULT WINAPI HTMLAreaElement_put_alt(IHTMLAreaElement *iface, BSTR v)
144{
146 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
147 return E_NOTIMPL;
148}
149
150static HRESULT WINAPI HTMLAreaElement_get_alt(IHTMLAreaElement *iface, BSTR *p)
151{
153 FIXME("(%p)->(%p)\n", This, p);
154 return E_NOTIMPL;
155}
156
158{
160 FIXME("(%p)->(%i)\n", This, v);
161 return E_NOTIMPL;
162}
163
164static HRESULT WINAPI HTMLAreaElement_get_noHref(IHTMLAreaElement *iface, VARIANT_BOOL *p)
165{
167 FIXME("(%p)->(%p)\n", This, p);
168 return E_NOTIMPL;
169}
170
171static HRESULT WINAPI HTMLAreaElement_put_host(IHTMLAreaElement *iface, BSTR v)
172{
174 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
175 return E_NOTIMPL;
176}
177
178static HRESULT WINAPI HTMLAreaElement_get_host(IHTMLAreaElement *iface, BSTR *p)
179{
181 FIXME("(%p)->(%p)\n", This, p);
182 return E_NOTIMPL;
183}
184
185static HRESULT WINAPI HTMLAreaElement_put_hostname(IHTMLAreaElement *iface, BSTR v)
186{
188 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
189 return E_NOTIMPL;
190}
191
192static HRESULT WINAPI HTMLAreaElement_get_hostname(IHTMLAreaElement *iface, BSTR *p)
193{
195 FIXME("(%p)->(%p)\n", This, p);
196 return E_NOTIMPL;
197}
198
199static HRESULT WINAPI HTMLAreaElement_put_pathname(IHTMLAreaElement *iface, BSTR v)
200{
202 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
203 return E_NOTIMPL;
204}
205
206static HRESULT WINAPI HTMLAreaElement_get_pathname(IHTMLAreaElement *iface, BSTR *p)
207{
209 FIXME("(%p)->(%p)\n", This, p);
210 return E_NOTIMPL;
211}
212
213static HRESULT WINAPI HTMLAreaElement_put_port(IHTMLAreaElement *iface, BSTR v)
214{
216 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
217 return E_NOTIMPL;
218}
219
220static HRESULT WINAPI HTMLAreaElement_get_port(IHTMLAreaElement *iface, BSTR *p)
221{
223 FIXME("(%p)->(%p)\n", This, p);
224 return E_NOTIMPL;
225}
226
227static HRESULT WINAPI HTMLAreaElement_put_protocol(IHTMLAreaElement *iface, BSTR v)
228{
230 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
231 return E_NOTIMPL;
232}
233
234static HRESULT WINAPI HTMLAreaElement_get_protocol(IHTMLAreaElement *iface, BSTR *p)
235{
237 FIXME("(%p)->(%p)\n", This, p);
238 return E_NOTIMPL;
239}
240
241static HRESULT WINAPI HTMLAreaElement_put_search(IHTMLAreaElement *iface, BSTR v)
242{
244 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
245 return E_NOTIMPL;
246}
247
248static HRESULT WINAPI HTMLAreaElement_get_search(IHTMLAreaElement *iface, BSTR *p)
249{
251 FIXME("(%p)->(%p)\n", This, p);
252 return E_NOTIMPL;
253}
254
255static HRESULT WINAPI HTMLAreaElement_put_hash(IHTMLAreaElement *iface, BSTR v)
256{
258 FIXME("(%p)->(%s)\n", This, debugstr_w(v));
259 return E_NOTIMPL;
260}
261
262static HRESULT WINAPI HTMLAreaElement_get_hash(IHTMLAreaElement *iface, BSTR *p)
263{
265 FIXME("(%p)->(%p)\n", This, p);
266 return E_NOTIMPL;
267}
268
269static HRESULT WINAPI HTMLAreaElement_put_onblur(IHTMLAreaElement *iface, VARIANT v)
270{
272 FIXME("(%p)->(%p)\n", This, &v);
273 return E_NOTIMPL;
274}
275
276static HRESULT WINAPI HTMLAreaElement_get_onblur(IHTMLAreaElement *iface, VARIANT *p)
277{
279 FIXME("(%p)->(%p)\n", This, p);
280 return E_NOTIMPL;
281}
282
283static HRESULT WINAPI HTMLAreaElement_put_onfocus(IHTMLAreaElement *iface, VARIANT v)
284{
286 FIXME("(%p)->(%p)\n", This, &v);
287 return E_NOTIMPL;
288}
289
290static HRESULT WINAPI HTMLAreaElement_get_onfocus(IHTMLAreaElement *iface, VARIANT *p)
291{
293 FIXME("(%p)->(%p)\n", This, p);
294 return E_NOTIMPL;
295}
296
297static HRESULT WINAPI HTMLAreaElement_put_tabIndex(IHTMLAreaElement *iface, short v)
298{
300 FIXME("(%p)->(%i)\n", This, v);
301 return E_NOTIMPL;
302}
303
304static HRESULT WINAPI HTMLAreaElement_get_tabIndex(IHTMLAreaElement *iface, short *p)
305{
307 FIXME("(%p)->(%p)\n", This, p);
308 return E_NOTIMPL;
309}
310
311static HRESULT WINAPI HTMLAreaElement_focus(IHTMLAreaElement *iface)
312{
314 FIXME("(%p)\n", This);
315 return E_NOTIMPL;
316}
317
318static HRESULT WINAPI HTMLAreaElement_blur(IHTMLAreaElement *iface)
319{
321 FIXME("(%p)\n", This);
322 return E_NOTIMPL;
323}
324
325static const IHTMLAreaElementVtbl HTMLAreaElementVtbl = {
367};
368
370{
371 return CONTAINING_RECORD(iface, HTMLAreaElement, element.node);
372}
373
375{
377
378 *ppv = NULL;
379
380 if(IsEqualGUID(&IID_IHTMLAreaElement, riid)) {
381 TRACE("(%p)->(IID_IHTMLAreaElement %p)\n", This, ppv);
382 *ppv = &This->IHTMLAreaElement_iface;
383 }else {
384 return HTMLElement_QI(&This->element.node, riid, ppv);
385 }
386
387 IUnknown_AddRef((IUnknown*)*ppv);
388 return S_OK;
389}
390
392{
394 nsAString href_str, target_str;
395 nsresult nsres;
396
397 if(eid == EVENTID_CLICK) {
398 nsAString_Init(&href_str, NULL);
399 nsres = nsIDOMHTMLAreaElement_GetHref(This->nsarea, &href_str);
400 if (NS_FAILED(nsres)) {
401 ERR("Could not get area href: %08x\n", nsres);
402 goto fallback;
403 }
404
405 nsAString_Init(&target_str, NULL);
406 nsres = nsIDOMHTMLAreaElement_GetTarget(This->nsarea, &target_str);
407 if (NS_FAILED(nsres)) {
408 ERR("Could not get area target: %08x\n", nsres);
409 goto fallback;
410 }
411
412 return handle_link_click_event(&This->element, &href_str, &target_str, event, prevent_default);
413
414fallback:
415 nsAString_Finish(&href_str);
416 nsAString_Finish(&target_str);
417 }
418
419 return HTMLElement_handle_event(&This->element.node, eid, event, prevent_default);
420}
421
429};
430
433 IHTMLAreaElement_tid,
434 0
435};
437 NULL,
438 DispHTMLAreaElement_tid,
439 NULL,
441};
442
444{
446 nsresult nsres;
447
448 ret = heap_alloc_zero(sizeof(HTMLAreaElement));
449 if(!ret)
450 return E_OUTOFMEMORY;
451
452 ret->IHTMLAreaElement_iface.lpVtbl = &HTMLAreaElementVtbl;
453 ret->element.node.vtbl = &HTMLAreaElementImplVtbl;
454
455 HTMLElement_Init(&ret->element, doc, nselem, &HTMLAreaElement_dispex);
456
457 nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLAreaElement, (void**)&ret->nsarea);
458 assert(nsres == NS_OK);
459
460 *elem = &ret->element;
461 return S_OK;
462}
#define FIXME(fmt,...)
Definition: debug.h:111
#define ERR(fmt,...)
Definition: debug.h:110
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_NOTIMPL
Definition: ddrawi.h:99
#define NULL
Definition: types.h:112
OLECHAR * BSTR
Definition: compat.h:2293
short VARIANT_BOOL
Definition: compat.h:2290
#define assert(x)
Definition: debug.h:53
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
const GLdouble * v
Definition: gl.h:2040
struct _cl_event * event
Definition: glext.h:7739
GLfloat GLfloat p
Definition: glext.h:8902
HRESULT handle_link_click_event(HTMLElement *element, nsAString *href_str, nsAString *target_str, nsIDOMEvent *event, BOOL *prevent_default)
Definition: htmlanchor.c:123
static HRESULT WINAPI HTMLAreaElement_GetTypeInfo(IHTMLAreaElement *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: htmlarea.c:61
static HRESULT WINAPI HTMLAreaElement_blur(IHTMLAreaElement *iface)
Definition: htmlarea.c:318
static HRESULT HTMLAreaElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
Definition: htmlarea.c:374
static HRESULT WINAPI HTMLAreaElement_put_alt(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:143
static ULONG WINAPI HTMLAreaElement_Release(IHTMLAreaElement *iface)
Definition: htmlarea.c:48
static HRESULT WINAPI HTMLAreaElement_put_protocol(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:227
static HRESULT WINAPI HTMLAreaElement_get_alt(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:150
static HRESULT WINAPI HTMLAreaElement_put_coords(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:101
static HRESULT WINAPI HTMLAreaElement_put_pathname(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:199
static HRESULT WINAPI HTMLAreaElement_GetTypeInfoCount(IHTMLAreaElement *iface, UINT *pctinfo)
Definition: htmlarea.c:55
static HRESULT WINAPI HTMLAreaElement_get_tabIndex(IHTMLAreaElement *iface, short *p)
Definition: htmlarea.c:304
static HRESULT WINAPI HTMLAreaElement_get_hash(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:262
static HRESULT WINAPI HTMLAreaElement_get_pathname(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:206
static ULONG WINAPI HTMLAreaElement_AddRef(IHTMLAreaElement *iface)
Definition: htmlarea.c:41
static HRESULT WINAPI HTMLAreaElement_put_search(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:241
static HRESULT WINAPI HTMLAreaElement_get_onblur(IHTMLAreaElement *iface, VARIANT *p)
Definition: htmlarea.c:276
static HRESULT WINAPI HTMLAreaElement_get_hostname(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:192
static const tid_t HTMLAreaElement_iface_tids[]
Definition: htmlarea.c:431
static HRESULT WINAPI HTMLAreaElement_put_port(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:213
static HTMLAreaElement * impl_from_IHTMLAreaElement(IHTMLAreaElement *iface)
Definition: htmlarea.c:29
static HRESULT WINAPI HTMLAreaElement_get_shape(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:94
static HRESULT WINAPI HTMLAreaElement_get_coords(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:108
static HRESULT WINAPI HTMLAreaElement_put_target(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:129
static dispex_static_data_t HTMLAreaElement_dispex
Definition: htmlarea.c:436
static HRESULT WINAPI HTMLAreaElement_put_onblur(IHTMLAreaElement *iface, VARIANT v)
Definition: htmlarea.c:269
static HRESULT WINAPI HTMLAreaElement_get_port(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:220
static HRESULT WINAPI HTMLAreaElement_Invoke(IHTMLAreaElement *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: htmlarea.c:78
static HRESULT WINAPI HTMLAreaElement_QueryInterface(IHTMLAreaElement *iface, REFIID riid, void **ppv)
Definition: htmlarea.c:34
static HTMLAreaElement * impl_from_HTMLDOMNode(HTMLDOMNode *iface)
Definition: htmlarea.c:369
static HRESULT WINAPI HTMLAreaElement_get_search(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:248
static HRESULT WINAPI HTMLAreaElement_get_host(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:178
static HRESULT WINAPI HTMLAreaElement_focus(IHTMLAreaElement *iface)
Definition: htmlarea.c:311
static HRESULT WINAPI HTMLAreaElement_put_onfocus(IHTMLAreaElement *iface, VARIANT v)
Definition: htmlarea.c:283
static HRESULT WINAPI HTMLAreaElement_put_host(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:171
static const IHTMLAreaElementVtbl HTMLAreaElementVtbl
Definition: htmlarea.c:325
static HRESULT WINAPI HTMLAreaElement_put_noHref(IHTMLAreaElement *iface, VARIANT_BOOL v)
Definition: htmlarea.c:157
static HRESULT WINAPI HTMLAreaElement_GetIDsOfNames(IHTMLAreaElement *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: htmlarea.c:69
static HRESULT WINAPI HTMLAreaElement_get_href(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:122
static HRESULT WINAPI HTMLAreaElement_get_noHref(IHTMLAreaElement *iface, VARIANT_BOOL *p)
Definition: htmlarea.c:164
static const NodeImplVtbl HTMLAreaElementImplVtbl
Definition: htmlarea.c:422
static HRESULT WINAPI HTMLAreaElement_put_href(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:115
static HRESULT WINAPI HTMLAreaElement_get_onfocus(IHTMLAreaElement *iface, VARIANT *p)
Definition: htmlarea.c:290
static HRESULT HTMLAreaElement_handle_event(HTMLDOMNode *iface, DWORD eid, nsIDOMEvent *event, BOOL *prevent_default)
Definition: htmlarea.c:391
static HRESULT WINAPI HTMLAreaElement_put_tabIndex(IHTMLAreaElement *iface, short v)
Definition: htmlarea.c:297
static HRESULT WINAPI HTMLAreaElement_get_protocol(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:234
static HRESULT WINAPI HTMLAreaElement_put_hash(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:255
HRESULT HTMLAreaElement_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, HTMLElement **elem)
Definition: htmlarea.c:443
static HRESULT WINAPI HTMLAreaElement_put_hostname(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:185
static HRESULT WINAPI HTMLAreaElement_put_shape(IHTMLAreaElement *iface, BSTR v)
Definition: htmlarea.c:87
static HRESULT WINAPI HTMLAreaElement_get_target(IHTMLAreaElement *iface, BSTR *p)
Definition: htmlarea.c:136
HRESULT HTMLElement_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **ret)
Definition: htmlelem.c:3793
void HTMLElement_destructor(HTMLDOMNode *iface)
Definition: htmlelem.c:3764
HRESULT HTMLElement_handle_event(HTMLDOMNode *iface, DWORD eid, nsIDOMEvent *event, BOOL *prevent_default)
Definition: htmlelem.c:3815
const cpc_entry_t HTMLElement_cpc[]
Definition: htmlelem.c:3847
void HTMLElement_Init(HTMLElement *This, HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, dispex_static_data_t *dispex_data)
Definition: htmlelem.c:4008
HRESULT HTMLElement_get_attr_col(HTMLDOMNode *iface, HTMLAttributeCollection **ac)
Definition: htmlelem.c:4827
HRESULT HTMLElement_QI(HTMLDOMNode *iface, REFIID riid, void **ppv)
Definition: htmlelem.c:3738
@ EVENTID_CLICK
Definition: htmlevent.h:26
tid_t
Definition: ieframe.h:311
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
#define debugstr_w
Definition: kernel32.h:32
static size_t elem
Definition: string.c:68
static LPOLESTR
Definition: stg_prop.c:27
static VARIANTARG static DISPID
Definition: ordinal.c:52
#define NS_OK
void nsAString_Finish(nsAString *) DECLSPEC_HIDDEN
Definition: nsembed.c:836
#define HTMLELEMENT_TIDS
BOOL nsAString_Init(nsAString *, const PRUnichar *) DECLSPEC_HIDDEN
Definition: nsembed.c:817
#define NS_FAILED(res)
unsigned int UINT
Definition: ndis.h:50
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define REFIID
Definition: guiddef.h:118
DWORD LCID
Definition: nls.h:13
#define TRACE(s)
Definition: solgame.cpp:4
HTMLElement element
Definition: htmlarea.c:22
nsIDOMHTMLAreaElement * nsarea
Definition: htmlarea.c:26
IHTMLAreaElement IHTMLAreaElement_iface
Definition: htmlarea.c:24
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
int ret
_In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon.h:531
#define WINAPI
Definition: msvc.h:6