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_DispHTMLNavigator,
|
||||
&DIID_DispHTMLOptionElement,
|
||||
&DIID_DispHTMLScreen,
|
||||
&DIID_DispHTMLSelectElement,
|
||||
&DIID_DispHTMLStyle,
|
||||
&DIID_DispHTMLTable,
|
||||
|
@ -134,6 +135,7 @@ static REFIID tid_ids[] = {
|
|||
&IID_IHTMLInputElement,
|
||||
&IID_IHTMLLocation,
|
||||
&IID_IHTMLOptionElement,
|
||||
&IID_IHTMLScreen,
|
||||
&IID_IHTMLSelectElement,
|
||||
&IID_IHTMLStyle,
|
||||
&IID_IHTMLStyle2,
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
||||
|
||||
typedef struct {
|
||||
DispatchEx dispex;
|
||||
const IHTMLScreenVtbl *lpIHTMLScreenVtbl;
|
||||
|
||||
LONG ref;
|
||||
|
@ -50,12 +51,11 @@ static HRESULT WINAPI HTMLScreen_QueryInterface(IHTMLScreen *iface, REFIID riid,
|
|||
if(IsEqualGUID(&IID_IUnknown, riid)) {
|
||||
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
|
||||
*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)) {
|
||||
TRACE("(%p)->(IID_IHTMLScreen %p)\n", This, ppv);
|
||||
*ppv = HTMLSCREEN(This);
|
||||
}else if(dispex_query_interface(&This->dispex, riid, ppv)) {
|
||||
return *ppv ? S_OK : E_NOINTERFACE;
|
||||
}
|
||||
|
||||
if(*ppv) {
|
||||
|
@ -84,8 +84,10 @@ static ULONG WINAPI HTMLScreen_Release(IHTMLScreen *iface)
|
|||
|
||||
TRACE("(%p) ref=%d\n", This, ref);
|
||||
|
||||
if(!ref)
|
||||
if(!ref) {
|
||||
release_dispex(&This->dispex);
|
||||
heap_free(This);
|
||||
}
|
||||
|
||||
return ref;
|
||||
}
|
||||
|
@ -214,6 +216,17 @@ static const IHTMLScreenVtbl HTMLSreenVtbl = {
|
|||
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)
|
||||
{
|
||||
HTMLScreen *screen;
|
||||
|
@ -225,6 +238,8 @@ HRESULT HTMLScreen_Create(IHTMLScreen **ret)
|
|||
screen->lpIHTMLScreenVtbl = &HTMLSreenVtbl;
|
||||
screen->ref = 1;
|
||||
|
||||
init_dispex(&screen->dispex, (IUnknown*)HTMLSCREEN(screen), &HTMLScreen_dispex);
|
||||
|
||||
*ret = HTMLSCREEN(screen);
|
||||
return S_OK;
|
||||
}
|
||||
|
|
|
@ -74,6 +74,7 @@ typedef enum {
|
|||
DispHTMLLocation_tid,
|
||||
DispHTMLNavigator_tid,
|
||||
DispHTMLOptionElement_tid,
|
||||
DispHTMLScreen_tid,
|
||||
DispHTMLSelectElement_tid,
|
||||
DispHTMLStyle_tid,
|
||||
DispHTMLTable_tid,
|
||||
|
@ -111,6 +112,7 @@ typedef enum {
|
|||
IHTMLInputElement_tid,
|
||||
IHTMLLocation_tid,
|
||||
IHTMLOptionElement_tid,
|
||||
IHTMLScreen_tid,
|
||||
IHTMLSelectElement_tid,
|
||||
IHTMLStyle_tid,
|
||||
IHTMLStyle2_tid,
|
||||
|
|
|
@ -3049,6 +3049,8 @@ static void test_screen(IHTMLWindow2 *window)
|
|||
ok(iface_cmp((IUnknown*)screen2, (IUnknown*)screen), "screen2 != screen\n");
|
||||
IHTMLScreen_Release(screen2);
|
||||
|
||||
test_disp((IUnknown*)screen, &DIID_DispHTMLScreen, "[object]");
|
||||
|
||||
IHTMLScreen_Release(screen);
|
||||
}
|
||||
|
||||
|
|
|
@ -1781,6 +1781,16 @@
|
|||
#define DISPID_IHTMLSCREEN_AVAILWIDTH (DISPID_SCREEN+7)
|
||||
#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 */
|
||||
#define DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE DISPID_VALUE
|
||||
|
||||
|
|
|
@ -9758,6 +9758,69 @@ interface IHTMLWindow5 : IDispatch
|
|||
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
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue