mshtml.idl: Added DispHTMLScreen declaration and use it in HTMLScreen object.
This commit is contained in:
parent
06884fb181
commit
1ddc01c09b
@ -97,6 +97,7 @@ static REFIID tid_ids[] = {
|
|||||||
&DIID_DispHTMLLocation,
|
&DIID_DispHTMLLocation,
|
||||||
&DIID_DispHTMLNavigator,
|
&DIID_DispHTMLNavigator,
|
||||||
&DIID_DispHTMLOptionElement,
|
&DIID_DispHTMLOptionElement,
|
||||||
|
&DIID_DispHTMLScreen,
|
||||||
&DIID_DispHTMLSelectElement,
|
&DIID_DispHTMLSelectElement,
|
||||||
&DIID_DispHTMLStyle,
|
&DIID_DispHTMLStyle,
|
||||||
&DIID_DispHTMLTable,
|
&DIID_DispHTMLTable,
|
||||||
@ -134,6 +135,7 @@ static REFIID tid_ids[] = {
|
|||||||
&IID_IHTMLInputElement,
|
&IID_IHTMLInputElement,
|
||||||
&IID_IHTMLLocation,
|
&IID_IHTMLLocation,
|
||||||
&IID_IHTMLOptionElement,
|
&IID_IHTMLOptionElement,
|
||||||
|
&IID_IHTMLScreen,
|
||||||
&IID_IHTMLSelectElement,
|
&IID_IHTMLSelectElement,
|
||||||
&IID_IHTMLStyle,
|
&IID_IHTMLStyle,
|
||||||
&IID_IHTMLStyle2,
|
&IID_IHTMLStyle2,
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
DispatchEx dispex;
|
||||||
const IHTMLScreenVtbl *lpIHTMLScreenVtbl;
|
const IHTMLScreenVtbl *lpIHTMLScreenVtbl;
|
||||||
|
|
||||||
LONG ref;
|
LONG ref;
|
||||||
@ -50,12 +51,11 @@ static HRESULT WINAPI HTMLScreen_QueryInterface(IHTMLScreen *iface, REFIID riid,
|
|||||||
if(IsEqualGUID(&IID_IUnknown, riid)) {
|
if(IsEqualGUID(&IID_IUnknown, riid)) {
|
||||||
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
|
||||||
*ppv = HTMLSCREEN(This);
|
*ppv = HTMLSCREEN(This);
|
||||||
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
|
|
||||||
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
|
|
||||||
*ppv = HTMLSCREEN(This);
|
|
||||||
}else if(IsEqualGUID(&IID_IHTMLScreen, riid)) {
|
}else if(IsEqualGUID(&IID_IHTMLScreen, riid)) {
|
||||||
TRACE("(%p)->(IID_IHTMLScreen %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IHTMLScreen %p)\n", This, ppv);
|
||||||
*ppv = HTMLSCREEN(This);
|
*ppv = HTMLSCREEN(This);
|
||||||
|
}else if(dispex_query_interface(&This->dispex, riid, ppv)) {
|
||||||
|
return *ppv ? S_OK : E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(*ppv) {
|
if(*ppv) {
|
||||||
@ -84,8 +84,10 @@ static ULONG WINAPI HTMLScreen_Release(IHTMLScreen *iface)
|
|||||||
|
|
||||||
TRACE("(%p) ref=%d\n", This, ref);
|
TRACE("(%p) ref=%d\n", This, ref);
|
||||||
|
|
||||||
if(!ref)
|
if(!ref) {
|
||||||
|
release_dispex(&This->dispex);
|
||||||
heap_free(This);
|
heap_free(This);
|
||||||
|
}
|
||||||
|
|
||||||
return ref;
|
return ref;
|
||||||
}
|
}
|
||||||
@ -214,6 +216,17 @@ static const IHTMLScreenVtbl HTMLSreenVtbl = {
|
|||||||
HTMLScreen_get_fontSmoothingEnabled
|
HTMLScreen_get_fontSmoothingEnabled
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const tid_t HTMLScreen_iface_tids[] = {
|
||||||
|
IHTMLScreen_tid,
|
||||||
|
0
|
||||||
|
};
|
||||||
|
static dispex_static_data_t HTMLScreen_dispex = {
|
||||||
|
NULL,
|
||||||
|
DispHTMLScreen_tid,
|
||||||
|
NULL,
|
||||||
|
HTMLScreen_iface_tids
|
||||||
|
};
|
||||||
|
|
||||||
HRESULT HTMLScreen_Create(IHTMLScreen **ret)
|
HRESULT HTMLScreen_Create(IHTMLScreen **ret)
|
||||||
{
|
{
|
||||||
HTMLScreen *screen;
|
HTMLScreen *screen;
|
||||||
@ -225,6 +238,8 @@ HRESULT HTMLScreen_Create(IHTMLScreen **ret)
|
|||||||
screen->lpIHTMLScreenVtbl = &HTMLSreenVtbl;
|
screen->lpIHTMLScreenVtbl = &HTMLSreenVtbl;
|
||||||
screen->ref = 1;
|
screen->ref = 1;
|
||||||
|
|
||||||
|
init_dispex(&screen->dispex, (IUnknown*)HTMLSCREEN(screen), &HTMLScreen_dispex);
|
||||||
|
|
||||||
*ret = HTMLSCREEN(screen);
|
*ret = HTMLSCREEN(screen);
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
@ -74,6 +74,7 @@ typedef enum {
|
|||||||
DispHTMLLocation_tid,
|
DispHTMLLocation_tid,
|
||||||
DispHTMLNavigator_tid,
|
DispHTMLNavigator_tid,
|
||||||
DispHTMLOptionElement_tid,
|
DispHTMLOptionElement_tid,
|
||||||
|
DispHTMLScreen_tid,
|
||||||
DispHTMLSelectElement_tid,
|
DispHTMLSelectElement_tid,
|
||||||
DispHTMLStyle_tid,
|
DispHTMLStyle_tid,
|
||||||
DispHTMLTable_tid,
|
DispHTMLTable_tid,
|
||||||
@ -111,6 +112,7 @@ typedef enum {
|
|||||||
IHTMLInputElement_tid,
|
IHTMLInputElement_tid,
|
||||||
IHTMLLocation_tid,
|
IHTMLLocation_tid,
|
||||||
IHTMLOptionElement_tid,
|
IHTMLOptionElement_tid,
|
||||||
|
IHTMLScreen_tid,
|
||||||
IHTMLSelectElement_tid,
|
IHTMLSelectElement_tid,
|
||||||
IHTMLStyle_tid,
|
IHTMLStyle_tid,
|
||||||
IHTMLStyle2_tid,
|
IHTMLStyle2_tid,
|
||||||
|
@ -3049,6 +3049,8 @@ static void test_screen(IHTMLWindow2 *window)
|
|||||||
ok(iface_cmp((IUnknown*)screen2, (IUnknown*)screen), "screen2 != screen\n");
|
ok(iface_cmp((IUnknown*)screen2, (IUnknown*)screen), "screen2 != screen\n");
|
||||||
IHTMLScreen_Release(screen2);
|
IHTMLScreen_Release(screen2);
|
||||||
|
|
||||||
|
test_disp((IUnknown*)screen, &DIID_DispHTMLScreen, "[object]");
|
||||||
|
|
||||||
IHTMLScreen_Release(screen);
|
IHTMLScreen_Release(screen);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1781,6 +1781,16 @@
|
|||||||
#define DISPID_IHTMLSCREEN_AVAILWIDTH (DISPID_SCREEN+7)
|
#define DISPID_IHTMLSCREEN_AVAILWIDTH (DISPID_SCREEN+7)
|
||||||
#define DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED (DISPID_SCREEN+8)
|
#define DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED (DISPID_SCREEN+8)
|
||||||
|
|
||||||
|
/* IHTMLScreen2 */
|
||||||
|
#define DISPID_IHTMLSCREEN2_LOGICALXDPI DISPID_SCREEN+9
|
||||||
|
#define DISPID_IHTMLSCREEN2_LOGICALYDPI DISPID_SCREEN+10
|
||||||
|
#define DISPID_IHTMLSCREEN2_DEVICEXDPI DISPID_SCREEN+11
|
||||||
|
#define DISPID_IHTMLSCREEN2_DEVICEYDPI DISPID_SCREEN+12
|
||||||
|
|
||||||
|
/* IHTMLScreen3 */
|
||||||
|
#define DISPID_IHTMLSCREEN3_SYSTEMXDPI DISPID_SCREEN+13
|
||||||
|
#define DISPID_IHTMLSCREEN3_SYSTEMYDPI DISPID_SCREEN+14
|
||||||
|
|
||||||
/* IHTMLOptionElementFactory */
|
/* IHTMLOptionElementFactory */
|
||||||
#define DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE DISPID_VALUE
|
#define DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE DISPID_VALUE
|
||||||
|
|
||||||
|
@ -9758,6 +9758,69 @@ interface IHTMLWindow5 : IDispatch
|
|||||||
HRESULT XMLHttpRequest([retval, out] VARIANT * p);
|
HRESULT XMLHttpRequest([retval, out] VARIANT * p);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* DispHTMLScreen dispinterface
|
||||||
|
*/
|
||||||
|
[
|
||||||
|
hidden,
|
||||||
|
uuid(3050f591-98b5-11cf-bb82-00aa00bdce0b)
|
||||||
|
]
|
||||||
|
dispinterface DispHTMLScreen
|
||||||
|
{
|
||||||
|
properties:
|
||||||
|
methods:
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
|
||||||
|
long colorDepth();
|
||||||
|
|
||||||
|
[propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
|
||||||
|
void bufferDepth(long v);
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
|
||||||
|
long bufferDepth();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN_WIDTH)]
|
||||||
|
long width();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
|
||||||
|
long height();
|
||||||
|
|
||||||
|
[propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
|
||||||
|
void updateInterval(long v);
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
|
||||||
|
long updateInterval();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
|
||||||
|
long availHeight();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
|
||||||
|
long availWidth();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
|
||||||
|
VARIANT_BOOL fontSmoothingEnabled();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN2_LOGICALXDPI)]
|
||||||
|
long logicalXDPI();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN2_LOGICALYDPI)]
|
||||||
|
long logicalYDPI();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN2_DEVICEXDPI)]
|
||||||
|
long deviceXDPI();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN2_DEVICEYDPI)]
|
||||||
|
long deviceYDPI();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN3_SYSTEMXDPI)]
|
||||||
|
long systemXDPI();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLSCREEN3_SYSTEMYDPI)]
|
||||||
|
long systemYDPI();
|
||||||
|
|
||||||
|
[propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
|
||||||
|
IDispatch *constructor();
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* DispHTMLWindow2 dispinterface
|
* DispHTMLWindow2 dispinterface
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user