2021-06-16 18:46:33 +03:00

151 lines
4.7 KiB
C++

#ifndef IHTML_H
#define IHTML_H
#ifdef _WIN32
#pragma once
#endif
#include "VGUI.h"
#include "MouseCode.h"
#include "KeyCode.h"
#include "Cursor.h"
#include "IImage.h"
namespace vgui
{
class IHTML
{
public:
virtual void OpenURL(const char*) = 0;
virtual bool StopLoading() = 0;
virtual bool Refresh() = 0;
virtual bool Show(bool shown) = 0;
virtual const char* GetOpenedPage() = 0;
virtual void Obsolete_OnSize(int x, int y, int w, int h) = 0;
virtual void GetHTMLSize(int& wide, int& tall) = 0;
virtual void Clear() = 0;
virtual void AddText(const char* text) = 0;
enum MOUSE_STATE { UP, DOWN, MOVE, DBLCLICK };
virtual void Obsolete_OnMouse(MouseCode code, MOUSE_STATE s, int x, int y) = 0;
virtual void Obsolete_OnChar(wchar_t unichar) = 0;
virtual void Obsolete_OnKeyDown(KeyCode code) = 0;
virtual vgui::IImage* GetBitmap() = 0;
virtual void SetVisible(bool state) = 0;
virtual void SetSize(int wide, int tall) = 0;
virtual void OnMouse(MouseCode code, MOUSE_STATE s, int x, int y, bool bPopupMenuMenu) = 0;
virtual void OnChar(wchar_t unichar, bool bPopupMenu) = 0;
virtual void OnKeyDown(KeyCode code, bool bPopupMenu) = 0;
virtual void ScrollV(int nPixels) = 0;
virtual void ScrollH(int nPixels) = 0;
virtual void OnMouseWheeled(int delta, bool bPopupMenu) = 0;
virtual void OnKeyUp(KeyCode code, bool bPopupMenu) = 0;
virtual void PostURL(const char* pchURL, const char* pchPostData) = 0;
virtual void RunJavascript(const char* pchScript) = 0;
virtual void SetMousePosition(int x, int y, bool bPopupMenu) = 0;
virtual void SetUserAgentInfo(const wchar_t* pwchUserAgent) = 0;
virtual void AddHeader(const char* pchHeader, const char* pchValue) = 0;
virtual void SetFileDialogChoice(const char* pchFileName) = 0;
virtual void HidePopup() = 0;
virtual void SetHTMLFocus() = 0;
virtual void KillHTMLFocus() = 0;
virtual void HorizontalScrollBarSize(int& x, int& y, int& wide, int& tall) = 0;
virtual void VerticalScrollBarSize(int& x, int& y, int& wide, int& tall) = 0;
virtual int HorizontalScroll() = 0;
virtual int VerticalScroll() = 0;
virtual int HorizontalScrollMax() = 0;
virtual int VerticalScrollMax() = 0;
virtual bool IsHorizontalScrollBarVisible() = 0;
virtual bool IsVeritcalScrollBarVisible() = 0;
virtual void SetHorizontalScroll(int scroll) = 0;
virtual void SetVerticalScroll(int scroll) = 0;
virtual void ViewSource() = 0;
virtual void Copy() = 0;
virtual void Paste() = 0;
virtual bool IsIERender() = 0;
virtual void GetIDispatchPtr(void** pIDispatch) = 0;
virtual void GetHTMLScroll(int& top, int& left) = 0;
};
enum EWebPageLoadError
{
eLoadErrorNone = 0,
eMimeTypeNotSupported,
eCacheMiss,
eBadURL,
eConnectionProblem,
eProxyConnectionProblem,
eLoadErrorUnknown,
};
class IHTMLEvents
{
public:
virtual bool Obsolete_OnStartURL(const char* url, const char* target, bool first) = 0;
virtual void Obsolete_OnFinishURL(const char* url) = 0;
virtual void Obsolete_OnProgressURL(long current, long maximum) = 0;
virtual void Obsolete_OnSetStatusText(const char* text) = 0;
virtual void Obsolete_OnUpdate() = 0;
virtual void Obsolete_OnLink() = 0;
virtual void Obsolete_OffLink() = 0;
virtual void OnURLChanged(const char* url, const char* pchPostData, bool bIsRedirect) = 0;
virtual void OnFinishRequest(const char* url, const char* pageTitle) = 0;
virtual bool OnStartRequestInternal(const char* url, const char* target, const char* pchPostData, bool bIsRedirect) = 0;
virtual void ShowPopup(int x, int y, int wide, int tall) = 0;
virtual void HidePopup() = 0;
virtual bool OnPopupHTMLWindow(const char* pchURL, int x, int y, int wide, int tall) = 0;
virtual void SetHTMLTitle(const char* pchTitle) = 0;
virtual void OnLoadingResource(const char* pchURL) = 0;
virtual void OnSetStatusText(const char* text) = 0;
virtual void OnSetCursor(vgui::CursorCode cursor) = 0;
virtual void OnFileLoadDialog(const char* pchTitle, const char* pchInitialFile) = 0;
virtual void OnShowToolTip(const char* pchText) = 0;
virtual void OnUpdateToolTip(const char* pchText) = 0;
virtual void OnHideToolTip() = 0;
virtual bool BOnCreateNewWindow(void** ppDispatch) = 0;
virtual void OnLink() = 0;
virtual void OffLink() = 0;
virtual void OnCloseWindow() = 0;
virtual void OnUpdate() = 0;
virtual void OnProgressRequest(long current, long maximum) = 0;
virtual bool OnOpenNewTab(const char* pchURL, bool bForeground) = 0;
};
}
#endif