static HRESULT STDMETHODCALLTYPE inplace_site_ex_GetWindow(IOleInPlaceSiteEx* self, HWND* win) { HTML_TRACE("inplace_site_GetWindow"); *win = MC_HTML_FROM_INPLACE_SITE_EX(self)->win; return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_site_ex_GetWindowContext(IOleInPlaceSiteEx* self, LPOLEINPLACEFRAME* frame, LPOLEINPLACEUIWINDOW* doc, RECT* rect, RECT* clip_rect, LPOLEINPLACEFRAMEINFO frame_info) { html_t* html; HTML_TRACE("inplace_site_GetWindowContext"); html = MC_HTML_FROM_INPLACE_SITE_EX(self); *frame = &html->inplace_frame; (*frame)->lpVtbl->AddRef(*frame); *doc = NULL; frame_info->fMDIApp = FALSE; frame_info->hwndFrame = GetAncestor(html->win, GA_ROOT); frame_info->haccel = NULL; frame_info->cAccelEntries = 0; GetClientRect(html->win, rect); GetClientRect(html->win, clip_rect); return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_site_ex_OnPosRectChange(IOleInPlaceSiteEx* self, const RECT* rect) { IOleInPlaceObject* inplace; HRESULT hr; html_t* html; HTML_TRACE("inplace_site_OnPosRectChange"); html = MC_HTML_FROM_INPLACE_SITE_EX(self); hr = html->browser_obj->lpVtbl->QueryInterface(html->browser_obj, &IID_IOleInPlaceObject, (void**)&inplace); if(MC_ERR(hr != S_OK || inplace == NULL)) { MC_TRACE("inplace_site_ex_OnPosRectChange: " "QueryInterface(IID_IOleInPlaceObject) failed [0x%lx]", hr); return E_UNEXPECTED; } inplace->lpVtbl->SetObjectRects(inplace, rect, rect); inplace->lpVtbl->Release(inplace); return S_OK; }
static HRESULT STDMETHODCALLTYPE inplace_site_ex_QueryInterface(IOleInPlaceSiteEx* self, REFIID riid, void** obj) { return html_QueryInterface(MC_HTML_FROM_INPLACE_SITE_EX(self), riid, obj); }
static ULONG STDMETHODCALLTYPE inplace_site_ex_Release(IOleInPlaceSiteEx* self) { HTML_TRACE("inplace_site_ex_Release"); return html_Release(MC_HTML_FROM_INPLACE_SITE_EX(self)); }