Документация Steamworks
Интерфейс ISteamHTMLSurface
Интерфейс для отображения HTML-страниц и взаимодействия с ними.

Вы можете использовать его для отображения HTML-страниц прямо в игре или приложении. Перед тем, как использовать этот интерфейс необходимо вызвать Init, а при завершении работы с ним — Shutdown.

Он построен на Chromium Embedded Framework и поддерживает разметку HTML5.

Дополнительную информацию см. в разделе «Steam HTML Surface».

Функции-члены

Функции-члены ISteamHTMLSurface вызываются с помощью глобальной функции доступа SteamHTMLSurface().

AddHeader

void AddHeader( HHTMLBrowser unBrowserHandle, const char *pchKey, const char *pchValue );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому необходимо добавить заголовок.
pchKeyconst char *Название заголовка, который необходимо добавить.
pchValueconst char *Значение заголовка, которое необходимо связать с ключом.

Добавляет заголовок ко всем HTTP-запросам, исходящим от этого браузера.

Полный список заголовков HTTP доступен в Википедии.

AllowStartRequest

void AllowStartRequest( HHTMLBrowser unBrowserHandle, bool bAllowed );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется перейти к другой странице.
bAllowedboolРазрешить или запретить переход.

Устанавливает, разрешить или отменить ожидающую рассмотрения загрузку.
Обратите внимание: этот вызов необходимо выполнить в ответ на обратный вызов HTML_StartRequest_t.

Можно использовать эту функцию для ограничения страниц, которые можно открыть с помощью вашего HTML Surface.

CopyToClipboard

void CopyToClipboard( HHTMLBrowser unBrowserHandle );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, откуда скопировать текст.

Копирует выделенный текст с текущей страницы в HTML Surface в буфер обмена.

CreateBrowser

SteamAPICall_t CreateBrowser( const char *pchUserAgent, const char *pchUserCSS );
НазваниеТипОписание
pchUserAgentconst char *Добавляет строку к общей строке агента пользователя (general user agent string) браузера, что позволяет определять вашего клиента на веб-серверах. Используйте NULL, если вам не требуется эта функция.
pchUserCSSconst char *Это позволяет применить стиль CSS к каждой странице, отображаемой этим браузером. Используйте NULL, если вам не требуется эта функция.

Создаёт объект браузер, который будет отображать HTML-страницы.
Обратите внимание: обязательно создать обработчики обратных вызовов для HTML_BrowserReady_t, HTML_StartRequest_t, HTML_JSAlert_t, HTML_JSConfirm_t и HTML_FileOpenDialog_t!
Если их не создать, будет казаться, что браузер завис вместо того, чтобы переходить на новые страницы или активировать всплывающие Javascript-окна!

Обратите внимание: при завершении использования этого браузера для высвобождения используемых им ресурсов ОБЯЗАТЕЛЬНО выполнение вызова RemoveBrowser. Если этого не сделать, произойдёт утечка памяти.

Для начала использования Surface желательно вызвать SetSize и LoadURL

Возвращаемые значения: SteamAPICall_t, который необходимо использовать с результатом вызова HTML_BrowserReady_t.

ExecuteJavascript

void ExecuteJavascript( HHTMLBrowser unBrowserHandle, const char *pchScript );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется перейти к другой странице.
pchScriptconst char *Скрипт Javascript, который необходимо выполнить.

Выполняет скрипт Javascript на загруженной в настоящий момент странице.

FileLoadDialogResponse

void FileLoadDialogResponse( HHTMLBrowser unBrowserHandle, const char **pchSelectedFiles );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется открыть диалоговое окно загрузки файлов.
pchSelectedFilesconst char **Массив абсолютных путей к файлам, выбранным пользователем. NULL, если пользователь не выбрал файлы.

Позволяет отреагировать на страницу, которой необходимо открыть диалоговое окно загрузки файлов.
Обратите внимание: этот вызов необходимо выполнить в ответ на обратный вызов HTML_FileOpenDialog_t.

Find

void Find( HHTMLBrowser unBrowserHandle, const char *pchSearchStr, bool bCurrentlyInFind, bool bReverse );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором необходимо найти строку.
pchSearchStrconst char *Строка, которую необходимо найти.
bCurrentlyInFindboolУстановите значение true при последующих вызовах для перехода к следующей соответствующей строке.
bReverseboolИскать снизу вверх?

Найти строку на текущей странице в HTML Surface.

Эквивалент ctrl+f в обычном браузере. Будут подсвечены все подходящие строки.

Если строка изменилась или вы хотите прекратить поиск, необходимо вызвать StopFind.

Возвращает: void
Активирует обратный вызов HTML_SearchResults_t.

GetLinkAtPosition

void GetLinkAtPosition( HHTMLBrowser unBrowserHandle, int x, int y );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, от которого необходимо получить ссылку.
xintПозиция по оси x (ширина) в Surface в пикселях. (0, 0) — левый верхний угол.
yintПозиция по оси y (высота) в Surface в пикселях. (0, 0) — левый верхний угол.

Получает информацию о ссылке в указанной позиции на текущей странице в HTML Surface.

Возвращает: void
Активирует обратный вызов HTML_LinkAtPosition_t.

GoBack

void GoBack( HHTMLBrowser unBrowserHandle );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется перейти назад.

Переход к предыдущей странице в истории.

GoForward

void GoForward( HHTMLBrowser unBrowserHandle );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется перейти вперед.

Переход к следующей странице в истории.

Init

bool Init();
Инициирует интерфейс HTML Surface.

Этот вызов должен быть выполнен перед использованием любых других функций этого интерфейса.

При завершении использования этого интерфейса для высвобождения используемых им ресурсов ОБЯЗАТЕЛЬНО выполнение вызова Shutdown. Если этого не сделать, произойдёт утечка памяти!

Возвращает: bool
true, если API успешно инициализирован, в противном случае false.

JSDialogResponse

void JSDialogResponse( HHTMLBrowser unBrowserHandle, bool bResult );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется открыть диалоговое окно.
bResultboolУстановите значение true, чтобы сымитировать нажатие кнопки OK, либо false для имитации нажатия Cancel.

Позволяет отреагировать на страницу, которой необходимо открыть модальное диалоговое окно уведомления Javascript.
Обратите внимание: этот вызов необходимо выполнить в ответ на обратные вызовы HTML_JSAlert_t и HTML_JSConfirm_t.

KeyChar

void KeyChar( HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, EHTMLKeyModifiers eHTMLKeyModifiers );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, которому необходимо отправить данные.
cUnicodeCharuint32Символьная точка в формате Юникод для данного нажатия по клавише. Для одного нажатия могут быть несколько символов.
eHTMLKeyModifiersEHTMLKeyModifiersЭто должна быть битовая маска клавиши-модификатора, которую сейчас нажимает пользователь.

cUnicodeChar является символьной точкой в формате Юникод для данного нажатия по клавише. Для одного нажатия могут быть несколько символов.

KeyDown

void KeyDown( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, которому необходимо отправить данные.
nNativeKeyCodeuint32Значение виртуального кода клавиш из операционной системы.
eHTMLKeyModifiersEHTMLKeyModifiersЭто должна быть битовая маска клавиши-модификатора, которую сейчас нажимает пользователь.

Взаимодействие с клавиатурой, nNativeKeyCode — это значение виртуального кода клавиш из вашей ОС.

KeyUp

void KeyUp( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, которому необходимо отправить данные.
nNativeKeyCodeuint32Значение виртуального кода клавиш из операционной системы.
eHTMLKeyModifiersEHTMLKeyModifiersЭто должна быть битовая маска клавиши-модификатора, которую сейчас нажимает пользователь.

LoadURL

void LoadURL( HHTMLBrowser unBrowserHandle, const char *pchURL, const char *pchPostData );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется загрузить эту ссылку.
pchURLconst char *Ссылка, которую требуется загрузить.
pchPostDataconst char *Опционально отправить POST-запрос с этими данными. Если данные отправлять не нужно, приравняйте к NULL.

Открыть указанную ссылку.

Если вы отправляете данные методом POST в pchPostData, тогда данные должны быть отформатированы следующим образом: name1=value1&name2=value2.

Вы можете загрузить любую схему URI, поддерживаемую Chromium Embedded Framework, включая, но не ограничиваясь: http://, https://, ftp:// и file:///. Если схема не указана, используется http://.

Возвращаемые значения: void
Активирует обратный вызов HTML_StartRequest_t.

MouseDoubleClick

void MouseDoubleClick( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, которому необходимо отправить данные.
eMouseButtonEHTMLMouseButtonКнопка мыши, нажатая дважды.

Сообщает HTML Surface, что была дважды нажата кнопка мыши.

Нажатие произойдёт там, где по данным Surface, курсор мыши находился во время последнего вызова MouseMove.

MouseDown

void MouseDown( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, которому необходимо отправить данные.
eMouseButtonEHTMLMouseButtonНажатая кнопка мыши.

Сообщает HTML Surface, что была нажата кнопка мыши.

Нажатие произойдёт там, где по данным Surface, курсор мыши находился во время последнего вызова MouseMove.

MouseMove

void MouseMove( HHTMLBrowser unBrowserHandle, int x, int y );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, которому необходимо отправить данные.
xintКоордината по оси x (ширина), относительно положения HTML Surface. (0, 0) — левый верхний угол.
yintКоордината по оси y (высота), относительно положения HTML Surface. (0, 0) — левый верхний угол.

Сообщает HTML Surface, где находится курсор мыши.

MouseUp

void MouseUp( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, которому необходимо отправить данные.
eMouseButtonEHTMLMouseButtonОтпущенная кнопка мыши.

Сообщает HTML Surface, что была отпущена кнопка мыши.

Нажатие произойдёт там, где по данным Surface, курсор мыши находился во время последнего вызова MouseMove.

MouseWheel

void MouseWheel( HHTMLBrowser unBrowserHandle, int32 nDelta );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, которому необходимо отправить данные.
nDeltaint32Число пикселей, которое необходимо прокрутить.

Сообщает HTML Surface о движениях колёсика мыши.

PasteFromClipboard

void PasteFromClipboard( HHTMLBrowser unBrowserHandle );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в который необходимо что-то вставить.

Вставляет содержимое буфера обмена на текущую страницу в HTML Surface.

Reload

void Reload( HHTMLBrowser unBrowserHandle );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, который необходимо перезагрузить.

Обновляет текущую страницу.

Скорее всего, перезагрузка произойдёт из локального кэша, а не по сети. Эквивалент F5 или ctrl+R в вашем браузере.

RemoveBrowser

void RemoveBrowser( HHTMLBrowser unBrowserHandle );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор браузера, который необходимо освободить.

ОБЯЗАТЕЛЬНО выполнить вызов этой функции, когда вам больше не нужен HTML Surface для высвобождения используемых им ресурсов.

Если этого не сделать, произойдёт утечка памяти.

SetBackgroundMode

void SetBackgroundMode( HHTMLBrowser unBrowserHandle, bool bBackgroundMode );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, для которого необходимо включить фоновый режим.
bBackgroundModeboolВключить или выключить фоновый режим.

Включает или отключает малозатратный фоновый режим, при котором Javascript и таймеры обновления игнорируются, ресурсы более агрессивно очищаются из памяти, а аудио- и видеоэлементы приостановлены.

После включения фонового режима все аудио- и видеообъекты выполнят ".pause()" и приобретут свойство "._steam_background_paused = 1".
После выключения фонового режима все аудио- и видеообъекты продолжат воспроизведение ".play()".

SetCookie

void SetCookie( const char *pchHostname, const char *pchKey, const char *pchValue, const char *pchPath = "/", RTime32 nExpires = 0, bool bSecure = false, bool bHTTPOnly = false );
НазваниеТипОписание
pchHostnameconst char *Название узла сервера, которому необходимо задать файл cookie (атрибут Host).
pchKeyconst char *Название файла cookie.
pchValueconst char *Значение файла cookie.
pchPathconst char *Задаёт атрибут Path для cookie. Вы можете использовать это поле для указания пути домена, к примеру, /accounts
nExpiresRTime32Задаёт атрибут 'Expires' на указанную временную метку в формате UNIX-времени (секунды с 1 января 1970 года).
bSecureboolЗадаёт атрибут 'Secure'.
bHTTPOnlyboolЗадаёт атрибут 'HttpOnly'.

Задаёт файл cookie для указанного узла сервера.

Дополнительная информация о работе файлов cookie можно прочесть в Википедии.

SetHorizontalScroll

void SetHorizontalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором необходимо задать положение горизонтальной прокрутки.
nAbsolutePixelScrolluint32Абсолютная позиция, до которой необходимо прокрутить, в пикселях. 0 — левая сторона, а HTML_HorizontalScroll_t.unScrollMax — правая.

Прокручивает текущую страницу горизонтально.

Возвращаемые значения: void
Активирует обратный вызов HTML_HorizontalScroll_t.


См. также: HTML_HorizontalScroll_t, SetVerticalScroll, HTML_VerticalScroll_t

SetKeyFocus

void SetKeyFocus( HHTMLBrowser unBrowserHandle, bool bHasKeyFocus );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, на котором необходимо установить фокус.
bHasKeyFocusboolВключить или выключить фокус?

Сообщает HTML Surface, что он находится в фокусе в данный момент. В частности, контролирует показ курсора текстового выделения (I-beam cursor).

SetPageScaleFactor

void SetPageScaleFactor( HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, который необходимо отмасштабировать.
flZoomfloatНасколько увеличить: от 1 (100% значение по умолчанию) до 2 (200%).
nPointXintЧисло пикселей по оси x. Если вам всё равно, используйте 0.
nPointYintЧисло пикселей по оси y. Если вам всё равно, используйте 0.

Увеличивает текущую страницу HTML Surface.

Текущий коэффициент масштаба доступен в HTML_NeedsPaint_t.flPageScale, HTML_HorizontalScroll_t.flPageScale и HTML_VerticalScroll_t.flPageScale.

SetSize

void SetSize( HHTMLBrowser unBrowserHandle, uint32 unWidth, uint32 unHeight );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, размер которого требует задать.
unWidthuint32Ширина Surface в пикселях.
unHeightuint32Высота Surface в пикселях.

Задаёт размер Surface в пикселях.

SetVerticalScroll

void SetVerticalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором необходимо задать положение вертикальной прокрутки.
nAbsolutePixelScrolluint32Абсолютная позиция, до которой необходимо прокрутить, в пикселях. 0 — это верх, а HTML_VerticalScroll_t.unScrollMax — низ.

Прокручивает текущую страницу вертикально.

Возвращает: void
Активирует обратный вызов HTML_VerticalScroll_t.


См. также: HTML_VerticalScroll_t, SetHorizontalScroll, HTML_HorizontalScroll_t

Выключение SteamAPI

bool Shutdown();
Отключает интерфейс ISteamHTMLSurface, высвобождая память и дескрипторы.

Отправить этот вызов при завершении использования интерфейса для предотвращения утечки памяти ОБЯЗАТЕЛЬНО. После выполнения данного вызова все функции, входящие в этот интерфейс, не дадут результатов, пока вы не вызовете Init заново.

Возвращаемые значения: bool
Эта функция в данный момент всегда возвращает true.

StopFind

void StopFind( HHTMLBrowser unBrowserHandle );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором необходимо прекратить поиск.

Отменяет текущий поиск.

См. также: Find

StopLoad

void StopLoad( HHTMLBrowser unBrowserHandle );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, которому необходимо прекратить загрузку.

Останавливает загрузку текущей HTML-страницы.

ViewSource

void ViewSource( HHTMLBrowser unBrowserHandle );
НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется посмотреть код текущей страницы.

Открывает код HTML текущей страницы в локальном текстовом редакторе, используемом по умолчанию. Используется для отладки.

Обратные вызовы

Далее приведён список обратных вызовов, которые могут быть получены при вызове SteamAPI_RunCallbacks. Многие из них могут быть получены сразу в ответ на функции-члены ISteamHTMLSurface.

HTML_BrowserReady_t

Новый браузер создан и готов к использованию.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserЭто дескриптор только что созданного браузера, который используется в дальнейших вызовах к ISteamHTMLSurface.

Связанные функции: CreateBrowser

HTML_CanGoBackAndForward_t

Вызывается, когда со страницы можно перейти назад или вперёд в истории браузера.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
bCanGoBackboolСообщает, можно ли перейти назад.
bCanGoForwardboolСообщает, можно ли перейти вперёд.

HTML_ChangedTitle_t

Вызывается, когда у текущей страницы в браузере меняется заголовок.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
pchTitleconst char *Новый заголовок страницы.

HTML_CloseBrowser_t

Вызывается, когда в результате действий пользователя браузеру отправлен запрос на закрытие. Как правило, после Javascript-вызова window.close().

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.

HTML_FileOpenDialog_t

Вызывается, когда браузер получил диалоговое окно открытия файлов от нажатия по <input type="file"> или чему-то подобному. Когда пользователь выбрал один или несколько файлов, необходимо вызвать FileLoadDialogResponse.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется перейти к другой странице.
pchTitleconst char *Название диалогового окна (к примеру, "Upload Images")
pchInitialFileconst char *Название файла, которое страница хочет установить по умолчанию. Она может ожидать файл с этим именем или это файл, который ранее был загружен пользователем.

HTML_FinishedRequest_t

Вызывается, когда браузер завершил загрузку страницы.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный вызов.
pchURLconst char *Ссылка, которая была открыта.
pchPageTitleconst char *Заголовок загруженной страницы.

HTML_HideToolTip_t

Вызывается, когда браузер хочет скрыть всплывающую подсказку.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.

HTML_HorizontalScroll_t

Предоставляет информацию о том, видна ли горизонтальная полоса прокрутки и каков её размер.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
unScrollMaxuint32Максимальное расстояние, на которое можно прокрутить горизонтально.
unScrollCurrentuint32Текущее положение горизонтальной прокрутки.
flPageScalefloatТекущий масштаб страницы.
bVisibleboolВидна ли горизонтальная полоса прокрутки.
unPageSizeuint32Полная ширина страницы в пикселях.

Связанные функции: SetHorizontalScroll

HTML_JSAlert_t

Вызывается, когда браузер желает отобразить диалоговое окно предупреждения Javascript. Вызовите JSDialogResponse, когда пользователь закроет его, либо сразу, чтобы проигнорировать его.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный вызов.
pchMessageconst char *Сообщение, связанное с этим диалогом.

HTML_JSConfirm_t

Вызывается, когда браузер желает отобразить диалоговое окно подтверждения Javascript. Вызовите JSDialogResponse, когда пользователь закроет его, либо сразу, чтобы проигнорировать его.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный вызов.
pchMessageconst char *Сообщение, связанное с этим диалогом.

HTML_LinkAtPosition_t

Результат вызова GetLinkAtPosition

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный вызов.
xuint32Не используется.
yuint32Не используется.
pchURLconst char *Ссылка, найденная в указанной позиции. NULL, если ссылка не найдена.
bInputboolБыло ли там поле ввода?
bLiveLinkbool

Связанные функции: GetLinkAtPosition

HTML_NeedsPaint_t

Вызывается, когда Surface получает запрос на отрисовку. Здесь вы получите данные об изображении, которое необходимо вывести на экран.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
pBGRAconst char *Указатель на данные изображения в формате B8G8R8A8, актуальные до следующего вызова SteamAPI_RunCallbacks.
unWideuint32Полная ширина pBGRA текстуры в пикселях.
unTalluint32Полная высота pBGRA текстуры в пикселях.
unUpdateXuint32Сдвиг повреждённого прямоугольника по x в этом обновлении.
unUpdateYuint32Сдвиг повреждённого прямоугольника по y в этом обновлении.
unUpdateWideuint32Ширина повреждённого прямоугольника в этом обновлении.
unUpdateTalluint32Высота повреждённого прямоугольника в этом обновлении.
unScrollXuint32Положение горизонтальной прокрутки браузера в момент отрисовки текстуры.
unScrollYuint32Положение вертикальной прокрутки браузера в момент отрисовки текстуры.
flPageScalefloatМасштаб браузера в момент отрисовки текстуры.
unPageSerialuint32Прирастает при каждой новой загрузке страницы. Можно использовать для запрета отрисовки при переходе на новые страницы.

HTML_NewWindow_t

Браузер создал новое HTML-окно.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
pchURLconst char *Ссылка, которую требуется загрузить в новом окне.
unXuint32Позиция по оси x, где отобразить всплывающее окно.
unYuint32Позиция по оси y, где отобразить всплывающее окно.
unWideuint32Полная ширина pBGRA текстуры в пикселях.
unTalluint32Полная высота pBGRA текстуры в пикселях.
unNewWindow_BrowserHandleHHTMLBrowserДескриптор нового окна Surface.

HTML_OpenLinkInNewTab_t

Браузер запросил загрузить ссылку в новой вкладке.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
pchURLconst char *Ссылка, которую хочет загрузить браузер.

HTML_SearchResults_t

Результаты поиска.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
unResultsuint32Число найденных результатов.
unCurrentMatchuint32Порядковый номер текущего совпадения относительно unResults.

Связанные функции: Find

HTML_SetCursor_t

Вызывается, когда браузер хочет сменить курсор мыши.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
eMouseCursoruint32EMouseCursor, который необходимо отобразить.

HTML_ShowToolTip_t

Вызывается, когда браузер хочет отобразить подсказку.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
pchMsgconst char *Текст подсказки, которую требуется показать.

HTML_StartRequest_t

Вызывается, когда браузер хочет перейти на новую страницу.
Обратите внимание: в ответ на этот обратный вызов необходимо вызвать AllowStartRequest!

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, в котором требуется перейти к другой странице.
pchURLconst char *Ссылка, по которой требуется перейти.
pchTargetconst char *Тип целевого объекта HTML (к примеру, _blank, _self, _parent, _top).
pchPostDataconst char *Любые отправленные с запросом данные.
bIsRedirectboolTrue, если это http или html перенаправление с предыдущего запроса на загрузку.

Связанные функции: LoadURL

HTML_StatusText_t

Вызывается, когда браузер хочет отобразить информационное сообщение. Наиболее часто это используется, когда вы наводите курсор на ссылки.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
pchMsgconst char *Текст отображаемого сообщения.

HTML_UpdateToolTip_t

Вызывается, когда текст существующей подсказки обновлён.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
pchMsgconst char *Новый текст подсказки.

HTML_URLChanged_t

Вызывается, когда браузер переходит по новой ссылке.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
pchURLconst char *Ссылка, по которой переходит браузер.
pchPostDataconst char *Любые отправленные с запросом данные, NULL если их нет.
bIsRedirectbooltrue, если это http или html перенаправление с предыдущего запроса на загрузку, в противном случае false.
pchPageTitleconst char *Заголовок страницы.
bNewNavigationbooltrue, если это новая страница, а не вызов к истории браузера.

HTML_VerticalScroll_t

Предоставляет информацию о том, видна ли вертикальная полоса прокрутки и каков её размер.

НазваниеТипОписание
unBrowserHandleHHTMLBrowserДескриптор объекта Surface, к которому относится данный обратный вызов.
unScrollMaxuint32Максимальное расстояние, на которое можно прокрутить вертикально.
unScrollCurrentuint32Текущее положение вертикальной прокрутки.
flPageScalefloatТекущий масштаб страницы.
bVisibleboolВидна ли вертикальная полоса прокрутки.
unPageSizeuint32Полная высота страницы в пикселях.

Связанные функции: SetVerticalScroll

Перечисления

Далее приведён список перечислений, которые определены для использования с ISteamHTMLSurface.

EHTMLKeyModifiers

Используется, чтобы браузер узнал о том, какие клавиши клавиатуры нажаты (вызовы KeyChar, KeyUp и KeyDown). Флаги можно совмещать при помощи побитового OR.

НазваниеЗначениеОписание
k_eHTMLKeyModifier_None0Ни один из модификаторов не нажат.
k_eHTMLKeyModifier_AltDown1 << 0Нажата одна из клавиш ALT.
k_eHTMLKeyModifier_CtrlDown1 << 1Нажата одна из клавиш CTRL.
k_eHTMLKeyModifier_ShiftDown1 << 2Нажата одна из клавиш SHIFT.

EHTMLMouseButton

Используется, чтобы браузер узнал, какая кнопка мыши нажата (вызовы MouseUp, MouseDown и MouseDoubleClick).

НазваниеЗначениеОписание
eHTMLMouseButton_Left0Нажата левая кнопка.
eHTMLMouseButton_Right1Нажата правая кнопка.
eHTMLMouseButton_Middle2Нажата средняя кнопка.

EMouseCursor

Далее приведён список курсоров мыши, которые HTML Surface может попросить отрисовать.

НазваниеЗначениеОписание
dc_user0
dc_none1
dc_arrow2
dc_ibeam3
dc_hourglass4
dc_waitarrow5
dc_crosshair6
dc_up7
dc_sizenw8
dc_sizese9
dc_sizene10
dc_sizesw11
dc_sizew12
dc_sizee13
dc_sizen14
dc_sizes15
dc_sizewe16
dc_sizens17
dc_sizeall18
dc_no19
dc_hand20
dc_blank21Не нужно отображать индивидуализированный курсор, используйте курсор по умолчанию.
dc_middle_pan22
dc_north_pan23
dc_north_east_pan24
dc_east_pan25
dc_south_east_pan26
dc_south_pan27
dc_south_west_pan28
dc_west_pan29
dc_north_west_pan30
dc_alias31
dc_cell32
dc_colresize33
dc_copycur34
dc_verticaltext35
dc_rowresize36
dc_zoomin37
dc_zoomout38
dc_help39
dc_custom40
dc_last41Используется только для итерации по списку курсоров. У индивидуализированных курсоров могут быть значения, превосходящие данное.

Typedefs

Далее приведён список объявлений typedef, которые определены для использования с ISteamHTMLSurface.

НазваниеБазовый типОписание
HHTMLBrowseruint32Представляет собой уникальный дескриптор экземпляра HTML Surface.

Константы

Далее приведён список констант, которые определены для использования с ISteamHTMLSurface.

НазваниеТипЗначениеОписание
INVALID_HTMLBROWSERuint320Означает, что дескриптор браузера недействителен. Вы должны инициализировать свои собственные дескрипторы HHTMLBrowser для этого значения, а затем вернуть его при закрытии страницы.
STEAMHTMLSURFACE_INTERFACE_VERSIONconst char *"STEAMHTMLSURFACE_INTERFACE_VERSION_003"