Overview
The Steam HTML Surface API enables the display and render of HTML-based pages directly in a game or application. It is built upon the Chromium Embedded Framework and supports HTML5 markup.
Getting Started with ISteamHTMLSurface
The
ISteamHTMLSurface interface is implemented in
isteamhtmlsurface.h and can be found in the
public/steam folder in the
Steamworks SDK. The interface can be accessed through the
SteamHTMLSurface() interface pointer.
Below is a list of the most commonly used methods in this API. Please refer to the API reference for details on interacting with the web page (scrolling, clicking links), using javascript, file dialogs, etc.
CallBack Setup
There are a series of callbacks that can be setup to determine when certain browser events occur (see
isteamhtmlsurface.h for a complete list). The Steamworks Example demonstrates implementing and using some of these callbacks in
htmlsurface.h/.cpp.
To complete a simple HTML Surface implementation, a CallBack for
ISteamHTMLSurface::HTML_NeedsPaint_t must be implemented to retrieve the image data for rendering.
Steamworks Example Implementation
The
Steamworks API Example Application (SpaceWar) that ships with the SDK contains a basic implementation of the Steam HTML Surface API. Upon launching the sample, scroll down and select HTML Page. The Steam Community home page will then load in the game.
You can find the integration of the Steam HTML Surface API in the
htmlsurface.h and
htmlsurface.cpp files.
NOTE: Interactivity with the web page has not been implemented in the example at this time.