46 lines
2 KiB
C++
46 lines
2 KiB
C++
#ifndef RAGNAROK_SOURCE_CLIENT_BROWSERDOCUMENTUI_H
|
|
#define RAGNAROK_SOURCE_CLIENT_BROWSERDOCUMENTUI_H
|
|
|
|
// clang-format off
|
|
#include <windows.h>
|
|
#include <ole2.h>
|
|
#include <mshtmhst.h>
|
|
// clang-format on
|
|
|
|
// Site-owned IDocHostUIHandler tear-off. Identity delegates to the borrowed
|
|
// site; reference calls do not manage lifetime. Unwritten outputs stay unwritten.
|
|
class BrowserDocumentUI final : public IDocHostUIHandler {
|
|
public:
|
|
explicit BrowserDocumentUI(IUnknown& site) : m_site(site) {
|
|
}
|
|
|
|
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, void** output) override;
|
|
ULONG STDMETHODCALLTYPE AddRef() override;
|
|
ULONG STDMETHODCALLTYPE Release() override;
|
|
HRESULT STDMETHODCALLTYPE ShowContextMenu(DWORD id, POINT* point, IUnknown* reserved, IDispatch* dispatch) override;
|
|
HRESULT STDMETHODCALLTYPE GetHostInfo(DOCHOSTUIINFO* info) override;
|
|
HRESULT STDMETHODCALLTYPE ShowUI(
|
|
DWORD id,
|
|
IOleInPlaceActiveObject* active,
|
|
IOleCommandTarget* commands,
|
|
IOleInPlaceFrame* frame,
|
|
IOleInPlaceUIWindow* document
|
|
) override;
|
|
HRESULT STDMETHODCALLTYPE HideUI() override;
|
|
HRESULT STDMETHODCALLTYPE UpdateUI() override;
|
|
HRESULT STDMETHODCALLTYPE EnableModeless(BOOL enable) override;
|
|
HRESULT STDMETHODCALLTYPE OnDocWindowActivate(BOOL activate) override;
|
|
HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(BOOL activate) override;
|
|
HRESULT STDMETHODCALLTYPE ResizeBorder(const RECT* border, IOleInPlaceUIWindow* window, BOOL frame) override;
|
|
HRESULT STDMETHODCALLTYPE TranslateAccelerator(MSG* message, const GUID* group, DWORD command) override;
|
|
HRESULT STDMETHODCALLTYPE GetOptionKeyPath(LPOLESTR* path, DWORD reserved) override;
|
|
HRESULT STDMETHODCALLTYPE GetDropTarget(IDropTarget* target, IDropTarget** replacement) override;
|
|
HRESULT STDMETHODCALLTYPE GetExternal(IDispatch** dispatch) override;
|
|
HRESULT STDMETHODCALLTYPE TranslateUrl(DWORD flags, OLECHAR* url, OLECHAR** translated) override;
|
|
HRESULT STDMETHODCALLTYPE FilterDataObject(IDataObject* data, IDataObject** filtered) override;
|
|
|
|
private:
|
|
IUnknown& m_site;
|
|
};
|
|
|
|
#endif
|