Files
2025-07-13 15:47:42 +03:00

60 lines
1.8 KiB
C++

//========= Copyright © 1996-2008, Valve LLC, All rights reserved. ============
//
// Purpose: Class for handling finding servers, getting their details, and displaying
// them inside the game
//
// $NoKeywords: $
//=============================================================================
#ifndef HTMLSURFACE_H
#define HTMLSURFACE_H
#include "SpaceWar.h"
#include "GameEngine.h"
#include "steam/steam_api.h"
#include "steam/isteamhtmlsurface.h"
class CHTMLSurface
{
public:
CHTMLSurface( IGameEngine *pGameEngine );
~CHTMLSurface();
// Run a frame (to handle kb input and such as well as render)
void RunFrame();
void Render();
void Show();
private:
STEAM_CALLBACK( CHTMLSurface, OnStartRequest, HTML_StartRequest_t ); // REQUIRED
STEAM_CALLBACK( CHTMLSurface, OnJSAlert, HTML_JSAlert_t ); // REQUIRED
STEAM_CALLBACK( CHTMLSurface, OnJSConfirm, HTML_JSConfirm_t ); // REQUIRED
STEAM_CALLBACK( CHTMLSurface, OnUploadLocalFile, HTML_FileOpenDialog_t ); // REQUIRED
STEAM_CALLBACK( CHTMLSurface, OnNeedsPaint, HTML_NeedsPaint_t );
STEAM_CALLBACK( CHTMLSurface, OnCloseBrowser, HTML_CloseBrowser_t );
STEAM_CALLBACK( CHTMLSurface, OnFinishedRequest, HTML_FinishedRequest_t );
STEAM_CALLBACK( CHTMLSurface, OnBrowserRestarted, HTML_BrowserRestarted_t );
void OnBrowserReady( HTML_BrowserReady_t *pBrowserReady, bool bIOFailure );
CCallResult< CHTMLSurface, HTML_BrowserReady_t > m_SteamCallResultBrowserReady;
// Pointer to engine instance (so we can draw stuff)
IGameEngine *m_pGameEngine;
HGAMEFONT m_hDisplayFont;
HHTMLBrowser m_unBrowserHandle; // handle to the html surface object
HGAMETEXTURE m_hHTMLTexture; // the texture data for the page
uint32 m_unHTMLWide; // the size of the html page we want to show
uint32 m_unHTMLTall;
};
#endif //HTMLSURFACE_H