Added IViewObject2 stub implementation.
This commit is contained in:
parent
22617da27f
commit
9cb6d15063
|
@ -19,6 +19,7 @@ C_SRCS = \
|
|||
regsvr.c \
|
||||
shdocvw_main.c \
|
||||
shlinstobj.c \
|
||||
view.c \
|
||||
webbrowser.c
|
||||
|
||||
RC_SRCS = shdocvw.rc
|
||||
|
|
|
@ -67,6 +67,7 @@ typedef struct {
|
|||
const IProvideClassInfo2Vtbl *lpProvideClassInfoVtbl;
|
||||
const IQuickActivateVtbl *lpQuickActivateVtbl;
|
||||
const IConnectionPointContainerVtbl *lpConnectionPointContainerVtbl;
|
||||
const IViewObject2Vtbl *lpViewObjectVtbl;
|
||||
|
||||
LONG ref;
|
||||
|
||||
|
@ -83,8 +84,11 @@ typedef struct {
|
|||
#define CLASSINFO(x) ((IProvideClassInfo2*) &(x)->lpProvideClassInfoVtbl)
|
||||
#define QUICKACT(x) ((IQuickActivate*) &(x)->lpQuickActivateVtbl)
|
||||
#define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl)
|
||||
#define VIEWOBJ(x) ((IViewObject*) &(x)->lpViewObjectVtbl);
|
||||
#define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObjectVtbl);
|
||||
|
||||
void WebBrowser_OleObject_Init(WebBrowser*);
|
||||
void WebBrowser_ViewObject_Init(WebBrowser*);
|
||||
void WebBrowser_Persist_Init(WebBrowser*);
|
||||
void WebBrowser_ClassInfo_Init(WebBrowser*);
|
||||
void WebBrowser_Misc_Init(WebBrowser*);
|
||||
|
|
|
@ -0,0 +1,124 @@
|
|||
/*
|
||||
* Copyright 2005 Jacek Caban
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include "wine/debug.h"
|
||||
#include "shdocvw.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
|
||||
|
||||
#define VIEWOBJ_THIS(iface) DEFINE_THIS(WebBrowser, ViewObject, iface)
|
||||
|
||||
static HRESULT WINAPI ViewObject_QueryInterface(IViewObject2 *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
return IWebBrowser2_QueryInterface(WEBBROWSER(This), riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI ViewObject_AddRef(IViewObject2 *iface)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
return IWebBrowser2_AddRef(WEBBROWSER(This));
|
||||
}
|
||||
|
||||
static ULONG WINAPI ViewObject_Release(IViewObject2 *iface)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
return IWebBrowser2_Release(WEBBROWSER(This));
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ViewObject_Draw(IViewObject2 *iface, DWORD dwDrawAspect,
|
||||
LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev,
|
||||
HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds,
|
||||
BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR),
|
||||
ULONG_PTR dwContinue)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
FIXME("(%p)->(%ld %ld %p %p %p %p %p %p %p %08lx)\n", This, dwDrawAspect, lindex,
|
||||
pvAspect, ptd, hdcTargetDev, hdcDraw, lprcBounds, lprcWBounds, pfnContinue,
|
||||
dwContinue);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ViewObject_GetColorSet(IViewObject2 *iface, DWORD dwAspect,
|
||||
LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev,
|
||||
LOGPALETTE **ppColorSet)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
FIXME("(%p)->(%ld %ld %p %p %p %p)\n", This, dwAspect, lindex, pvAspect, ptd,
|
||||
hicTargetDev, ppColorSet);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ViewObject_Freeze(IViewObject2 *iface, DWORD dwDrawAspect, LONG lindex,
|
||||
void *pvAspect, DWORD *pdwFreeze)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
FIXME("(%p)->(%ld %ld %p %p)\n", This, dwDrawAspect, lindex, pvAspect, pdwFreeze);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ViewObject_Unfreeze(IViewObject2 *iface, DWORD dwFreeze)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
FIXME("(%p)->(%ld)\n", This, dwFreeze);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ViewObject_SetAdvise(IViewObject2 *iface, DWORD aspects, DWORD advf,
|
||||
IAdviseSink *pAdvSink)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
FIXME("(%p)->(%ld %08lx %p)\n", This, aspects, advf, pAdvSink);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ViewObject_GetAdvise(IViewObject2 *iface, DWORD *pAspects,
|
||||
DWORD *pAdvf, IAdviseSink **ppAdvSink)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
FIXME("(%p)->(%p %p %p)\n", This, pAspects, pAdvf, ppAdvSink);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI ViewObject_GetExtent(IViewObject2 *iface, DWORD dwAspect, LONG lindex,
|
||||
DVTARGETDEVICE *ptd, LPSIZEL lpsizel)
|
||||
{
|
||||
WebBrowser *This = VIEWOBJ_THIS(iface);
|
||||
FIXME("(%p)->(%ld %ld %p %p)\n", This, dwAspect, lindex, ptd, lpsizel);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static const IViewObject2Vtbl ViewObjectVtbl = {
|
||||
ViewObject_QueryInterface,
|
||||
ViewObject_AddRef,
|
||||
ViewObject_Release,
|
||||
ViewObject_Draw,
|
||||
ViewObject_GetColorSet,
|
||||
ViewObject_Freeze,
|
||||
ViewObject_Unfreeze,
|
||||
ViewObject_SetAdvise,
|
||||
ViewObject_GetAdvise,
|
||||
ViewObject_GetExtent
|
||||
};
|
||||
|
||||
#undef VIEWOBJ_THIS
|
||||
|
||||
void WebBrowser_ViewObject_Init(WebBrowser *This)
|
||||
{
|
||||
This->lpViewObjectVtbl = &ViewObjectVtbl;
|
||||
}
|
|
@ -41,7 +41,7 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
|
|||
if(IsEqualGUID(&IID_IUnknown, riid)) {
|
||||
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
|
||||
*ppv = WEBBROWSER(This);
|
||||
}else if(IsEqualGUID (&IID_IDispatch, riid)) {
|
||||
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
|
||||
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
|
||||
*ppv = WEBBROWSER(This);
|
||||
}else if(IsEqualGUID(&IID_IWebBrowser, riid)) {
|
||||
|
@ -74,18 +74,24 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
|
|||
}else if(IsEqualGUID (&IID_IPersistStreamInit, riid)) {
|
||||
TRACE("(%p)->(IID_IPersistStreamInit %p)\n", This, ppv);
|
||||
*ppv = PERSTRINIT(This);
|
||||
}else if(IsEqualGUID (&IID_IProvideClassInfo, riid)) {
|
||||
}else if(IsEqualGUID(&IID_IProvideClassInfo, riid)) {
|
||||
TRACE("(%p)->(IID_IProvideClassInfo %p)\n", This, ppv);
|
||||
*ppv = CLASSINFO(This);
|
||||
}else if(IsEqualGUID (&IID_IProvideClassInfo2, riid)) {
|
||||
}else if(IsEqualGUID(&IID_IProvideClassInfo2, riid)) {
|
||||
TRACE("(%p)->(IID_IProvideClassInfo2 %p)\n", This, ppv);
|
||||
*ppv = CLASSINFO(This);
|
||||
}else if(IsEqualGUID (&IID_IQuickActivate, riid)) {
|
||||
}else if(IsEqualGUID(&IID_IQuickActivate, riid)) {
|
||||
TRACE("(%p)->(IID_IQuickActivate %p)\n", This, ppv);
|
||||
*ppv = QUICKACT(This);
|
||||
}else if(IsEqualGUID (&IID_IConnectionPointContainer, riid)) {
|
||||
}else if(IsEqualGUID(&IID_IConnectionPointContainer, riid)) {
|
||||
TRACE("(%p)->(IID_IConnectionPointContainer %p)\n", This, ppv);
|
||||
*ppv = CONPTCONT(This);
|
||||
}else if(IsEqualGUID(&IID_IViewObject, riid)) {
|
||||
TRACE("(%p)->(IID_IViewObject %p)\n", This, ppv);
|
||||
*ppv = VIEWOBJ(This);
|
||||
}else if(IsEqualGUID(&IID_IViewObject2, riid)) {
|
||||
TRACE("(%p)->(IID_IViewObject2 %p)\n", This, ppv);
|
||||
*ppv = VIEWOBJ2(This);
|
||||
}
|
||||
|
||||
if(*ppv) {
|
||||
|
@ -706,6 +712,7 @@ HRESULT WebBrowser_Create(IUnknown *pOuter, REFIID riid, void **ppv)
|
|||
ret->ref = 0;
|
||||
|
||||
WebBrowser_OleObject_Init(ret);
|
||||
WebBrowser_ViewObject_Init(ret);
|
||||
WebBrowser_Persist_Init(ret);
|
||||
WebBrowser_ClassInfo_Init(ret);
|
||||
WebBrowser_Misc_Init(ret);
|
||||
|
|
Loading…
Reference in New Issue