Интерфейс для отображения HTML-страниц и взаимодействия с ними.
Вы можете использовать его для отображения HTML-страниц прямо в игре или приложении. Перед тем, как использовать этот интерфейс необходимо вызвать
Init, а при завершении работы с ним —
Shutdown.
Он построен на Chromium Embedded Framework и поддерживает разметку HTML5.
Дополнительную информацию см. в разделе «
Steam HTML Surface».
Функции-члены
Функции-члены
ISteamHTMLSurface
вызываются с помощью глобальной функции доступа
SteamHTMLSurface()
.
AddHeader
void AddHeader( HHTMLBrowser unBrowserHandle, const char *pchKey, const char *pchValue );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому необходимо добавить заголовок. |
pchKey | const char * | Название заголовка, который необходимо добавить. |
pchValue | const char * | Значение заголовка, которое необходимо связать с ключом. |
Добавляет заголовок ко всем HTTP-запросам, исходящим от этого браузера.
Полный список заголовков HTTP доступен в
Википедии.
AllowStartRequest
void AllowStartRequest( HHTMLBrowser unBrowserHandle, bool bAllowed );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется перейти к другой странице. |
bAllowed | bool | Разрешить или запретить переход. |
Устанавливает, разрешить или отменить ожидающую рассмотрения загрузку.
Обратите внимание: этот вызов необходимо выполнить в ответ на обратный вызов
HTML_StartRequest_t.
Можно использовать эту функцию для ограничения страниц, которые можно открыть с помощью вашего HTML Surface.
CopyToClipboard
void CopyToClipboard( HHTMLBrowser unBrowserHandle );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, откуда скопировать текст. |
Копирует выделенный текст с текущей страницы в HTML Surface в буфер обмена.
CreateBrowser
SteamAPICall_t CreateBrowser( const char *pchUserAgent, const char *pchUserCSS );
Название | Тип | Описание |
pchUserAgent | const char * | Добавляет строку к общей строке агента пользователя (general user agent string) браузера, что позволяет определять вашего клиента на веб-серверах. Используйте NULL, если вам не требуется эта функция. |
pchUserCSS | const 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 );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется перейти к другой странице. |
pchScript | const char * | Скрипт Javascript, который необходимо выполнить. |
Выполняет скрипт Javascript на загруженной в настоящий момент странице.
FileLoadDialogResponse
void FileLoadDialogResponse( HHTMLBrowser unBrowserHandle, const char **pchSelectedFiles );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется открыть диалоговое окно загрузки файлов. |
pchSelectedFiles | const char ** | Массив абсолютных путей к файлам, выбранным пользователем. NULL, если пользователь не выбрал файлы. |
Позволяет отреагировать на страницу, которой необходимо открыть диалоговое окно загрузки файлов.
Find
void Find( HHTMLBrowser unBrowserHandle, const char *pchSearchStr, bool bCurrentlyInFind, bool bReverse );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором необходимо найти строку. |
pchSearchStr | const char * | Строка, которую необходимо найти. |
bCurrentlyInFind | bool | Установите значение true при последующих вызовах для перехода к следующей соответствующей строке. |
bReverse | bool | Искать снизу вверх? |
Найти строку на текущей странице в HTML Surface.
Эквивалент ctrl+f в обычном браузере. Будут подсвечены все подходящие строки.
Если строка изменилась или вы хотите прекратить поиск, необходимо вызвать
StopFind.
Возвращает: void
Активирует обратный вызов
HTML_SearchResults_t.
GetLinkAtPosition
void GetLinkAtPosition( HHTMLBrowser unBrowserHandle, int x, int y );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, от которого необходимо получить ссылку. |
x | int | Позиция по оси x (ширина) в Surface в пикселях. (0, 0) — левый верхний угол. |
y | int | Позиция по оси y (высота) в Surface в пикселях. (0, 0) — левый верхний угол. |
Получает информацию о ссылке в указанной позиции на текущей странице в HTML Surface.
Возвращает: void
Активирует обратный вызов
HTML_LinkAtPosition_t.
GoBack
void GoBack( HHTMLBrowser unBrowserHandle );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется перейти назад. |
Переход к предыдущей странице в истории.
GoForward
void GoForward( HHTMLBrowser unBrowserHandle );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется перейти вперед. |
Переход к следующей странице в истории.
Init
bool Init();
Инициирует интерфейс HTML Surface.
Этот вызов должен быть выполнен перед использованием любых других функций этого интерфейса.
При завершении использования этого интерфейса для высвобождения используемых им ресурсов ОБЯЗАТЕЛЬНО выполнение вызова
Shutdown. Если этого не сделать, произойдёт утечка памяти!
Возвращает: bool
true, если API успешно инициализирован, в противном случае
false.
JSDialogResponse
void JSDialogResponse( HHTMLBrowser unBrowserHandle, bool bResult );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется открыть диалоговое окно. |
bResult | bool | Установите значение true, чтобы сымитировать нажатие кнопки OK, либо false для имитации нажатия Cancel. |
Позволяет отреагировать на страницу, которой необходимо открыть модальное диалоговое окно уведомления Javascript.
KeyChar
void KeyChar( HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, EHTMLKeyModifiers eHTMLKeyModifiers );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, которому необходимо отправить данные. |
cUnicodeChar | uint32 | Символьная точка в формате Юникод для данного нажатия по клавише. Для одного нажатия могут быть несколько символов. |
eHTMLKeyModifiers | EHTMLKeyModifiers | Это должна быть битовая маска клавиши-модификатора, которую сейчас нажимает пользователь. |
cUnicodeChar является символьной точкой в формате Юникод для данного нажатия по клавише. Для одного нажатия могут быть несколько символов.
KeyDown
void KeyDown( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, которому необходимо отправить данные. |
nNativeKeyCode | uint32 | Значение виртуального кода клавиш из операционной системы. |
eHTMLKeyModifiers | EHTMLKeyModifiers | Это должна быть битовая маска клавиши-модификатора, которую сейчас нажимает пользователь. |
Взаимодействие с клавиатурой, nNativeKeyCode — это значение виртуального кода клавиш из вашей ОС.
KeyUp
void KeyUp( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, которому необходимо отправить данные. |
nNativeKeyCode | uint32 | Значение виртуального кода клавиш из операционной системы. |
eHTMLKeyModifiers | EHTMLKeyModifiers | Это должна быть битовая маска клавиши-модификатора, которую сейчас нажимает пользователь. |
LoadURL
void LoadURL( HHTMLBrowser unBrowserHandle, const char *pchURL, const char *pchPostData );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется загрузить эту ссылку. |
pchURL | const char * | Ссылка, которую требуется загрузить. |
pchPostData | const 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 );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, которому необходимо отправить данные. |
eMouseButton | EHTMLMouseButton | Кнопка мыши, нажатая дважды. |
Сообщает HTML Surface, что была дважды нажата кнопка мыши.
Нажатие произойдёт там, где по данным Surface, курсор мыши находился во время последнего вызова
MouseMove.
MouseDown
void MouseDown( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, которому необходимо отправить данные. |
eMouseButton | EHTMLMouseButton | Нажатая кнопка мыши. |
Сообщает HTML Surface, что была нажата кнопка мыши.
Нажатие произойдёт там, где по данным Surface, курсор мыши находился во время последнего вызова
MouseMove.
MouseMove
void MouseMove( HHTMLBrowser unBrowserHandle, int x, int y );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, которому необходимо отправить данные. |
x | int | Координата по оси x (ширина), относительно положения HTML Surface. (0, 0) — левый верхний угол. |
y | int | Координата по оси y (высота), относительно положения HTML Surface. (0, 0) — левый верхний угол. |
Сообщает HTML Surface, где находится курсор мыши.
MouseUp
void MouseUp( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, которому необходимо отправить данные. |
eMouseButton | EHTMLMouseButton | Отпущенная кнопка мыши. |
Сообщает HTML Surface, что была отпущена кнопка мыши.
Нажатие произойдёт там, где по данным Surface, курсор мыши находился во время последнего вызова
MouseMove.
MouseWheel
void MouseWheel( HHTMLBrowser unBrowserHandle, int32 nDelta );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, которому необходимо отправить данные. |
nDelta | int32 | Число пикселей, которое необходимо прокрутить. |
Сообщает HTML Surface о движениях колёсика мыши.
PasteFromClipboard
void PasteFromClipboard( HHTMLBrowser unBrowserHandle );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в который необходимо что-то вставить. |
Вставляет содержимое буфера обмена на текущую страницу в HTML Surface.
Reload
void Reload( HHTMLBrowser unBrowserHandle );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, который необходимо перезагрузить. |
Обновляет текущую страницу.
Скорее всего, перезагрузка произойдёт из локального кэша, а не по сети. Эквивалент F5 или ctrl+R в вашем браузере.
RemoveBrowser
void RemoveBrowser( HHTMLBrowser unBrowserHandle );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор браузера, который необходимо освободить. |
ОБЯЗАТЕЛЬНО выполнить вызов этой функции, когда вам больше не нужен HTML Surface для высвобождения используемых им ресурсов.
Если этого не сделать, произойдёт утечка памяти.
SetBackgroundMode
void SetBackgroundMode( HHTMLBrowser unBrowserHandle, bool bBackgroundMode );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, для которого необходимо включить фоновый режим. |
bBackgroundMode | bool | Включить или выключить фоновый режим. |
Включает или отключает малозатратный фоновый режим, при котором 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 );
Название | Тип | Описание |
pchHostname | const char * | Название узла сервера, которому необходимо задать файл cookie (атрибут Host). |
pchKey | const char * | Название файла cookie. |
pchValue | const char * | Значение файла cookie. |
pchPath | const char * | Задаёт атрибут Path для cookie. Вы можете использовать это поле для указания пути домена, к примеру, /accounts |
nExpires | RTime32 | Задаёт атрибут 'Expires' на указанную временную метку в формате UNIX-времени (секунды с 1 января 1970 года). |
bSecure | bool | Задаёт атрибут 'Secure'. |
bHTTPOnly | bool | Задаёт атрибут 'HttpOnly'. |
Задаёт файл cookie для указанного узла сервера.
Дополнительная информация о работе файлов cookie можно прочесть в
Википедии.
SetHorizontalScroll
void SetHorizontalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором необходимо задать положение горизонтальной прокрутки. |
nAbsolutePixelScroll | uint32 | Абсолютная позиция, до которой необходимо прокрутить, в пикселях. 0 — левая сторона, а HTML_HorizontalScroll_t.unScrollMax — правая. |
Прокручивает текущую страницу горизонтально.
Возвращаемые значения: void
Активирует обратный вызов
HTML_HorizontalScroll_t.
См. также: HTML_HorizontalScroll_t,
SetVerticalScroll,
HTML_VerticalScroll_tSetKeyFocus
void SetKeyFocus( HHTMLBrowser unBrowserHandle, bool bHasKeyFocus );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, на котором необходимо установить фокус. |
bHasKeyFocus | bool | Включить или выключить фокус? |
Сообщает HTML Surface, что он находится в фокусе в данный момент. В частности, контролирует показ курсора текстового выделения (I-beam cursor).
SetPageScaleFactor
void SetPageScaleFactor( HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, который необходимо отмасштабировать. |
flZoom | float | Насколько увеличить: от 1 (100% значение по умолчанию) до 2 (200%). |
nPointX | int | Число пикселей по оси x. Если вам всё равно, используйте 0. |
nPointY | int | Число пикселей по оси 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 );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, размер которого требует задать. |
unWidth | uint32 | Ширина Surface в пикселях. |
unHeight | uint32 | Высота Surface в пикселях. |
Задаёт размер Surface в пикселях.
SetVerticalScroll
void SetVerticalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором необходимо задать положение вертикальной прокрутки. |
nAbsolutePixelScroll | uint32 | Абсолютная позиция, до которой необходимо прокрутить, в пикселях. 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 );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором необходимо прекратить поиск. |
Отменяет текущий поиск.
См. также: FindStopLoad
void StopLoad( HHTMLBrowser unBrowserHandle );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, которому необходимо прекратить загрузку. |
Останавливает загрузку текущей HTML-страницы.
ViewSource
void ViewSource( HHTMLBrowser unBrowserHandle );
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется посмотреть код текущей страницы. |
Открывает код HTML текущей страницы в локальном текстовом редакторе, используемом по умолчанию. Используется для отладки.
Обратные вызовы
Далее приведён список обратных вызовов, которые могут быть получены при вызове
SteamAPI_RunCallbacks. Многие из них могут быть получены сразу в ответ на функции-члены
ISteamHTMLSurface
.
HTML_BrowserReady_t
Новый браузер создан и готов к использованию.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Это дескриптор только что созданного браузера, который используется в дальнейших вызовах к ISteamHTMLSurface. |
Связанные функции: CreateBrowserHTML_CanGoBackAndForward_t
Вызывается, когда со страницы можно перейти назад или вперёд в истории браузера.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
bCanGoBack | bool | Сообщает, можно ли перейти назад. |
bCanGoForward | bool | Сообщает, можно ли перейти вперёд. |
HTML_ChangedTitle_t
Вызывается, когда у текущей страницы в браузере меняется заголовок.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
pchTitle | const char * | Новый заголовок страницы. |
HTML_CloseBrowser_t
Вызывается, когда в результате действий пользователя браузеру отправлен запрос на закрытие. Как правило, после Javascript-вызова
window.close()
.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
HTML_FileOpenDialog_t
Вызывается, когда браузер получил диалоговое окно открытия файлов от нажатия по
<input type="file">
или чему-то подобному. Когда пользователь выбрал один или несколько файлов, необходимо вызвать
FileLoadDialogResponse.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется перейти к другой странице. |
pchTitle | const char * | Название диалогового окна (к примеру, "Upload Images") |
pchInitialFile | const char * | Название файла, которое страница хочет установить по умолчанию. Она может ожидать файл с этим именем или это файл, который ранее был загружен пользователем. |
HTML_FinishedRequest_t
Вызывается, когда браузер завершил загрузку страницы.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный вызов. |
pchURL | const char * | Ссылка, которая была открыта. |
pchPageTitle | const char * | Заголовок загруженной страницы. |
HTML_HideToolTip_t
Вызывается, когда браузер хочет скрыть всплывающую подсказку.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
HTML_HorizontalScroll_t
Предоставляет информацию о том, видна ли горизонтальная полоса прокрутки и каков её размер.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
unScrollMax | uint32 | Максимальное расстояние, на которое можно прокрутить горизонтально. |
unScrollCurrent | uint32 | Текущее положение горизонтальной прокрутки. |
flPageScale | float | Текущий масштаб страницы. |
bVisible | bool | Видна ли горизонтальная полоса прокрутки. |
unPageSize | uint32 | Полная ширина страницы в пикселях. |
Связанные функции: SetHorizontalScrollHTML_JSAlert_t
Вызывается, когда браузер желает отобразить диалоговое окно предупреждения Javascript. Вызовите
JSDialogResponse, когда пользователь закроет его, либо сразу, чтобы проигнорировать его.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный вызов. |
pchMessage | const char * | Сообщение, связанное с этим диалогом. |
HTML_JSConfirm_t
Вызывается, когда браузер желает отобразить диалоговое окно подтверждения Javascript. Вызовите
JSDialogResponse, когда пользователь закроет его, либо сразу, чтобы проигнорировать его.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный вызов. |
pchMessage | const char * | Сообщение, связанное с этим диалогом. |
HTML_LinkAtPosition_t
Результат вызова
GetLinkAtPosition Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный вызов. |
x | uint32 | Не используется. |
y | uint32 | Не используется. |
pchURL | const char * | Ссылка, найденная в указанной позиции. NULL, если ссылка не найдена. |
bInput | bool | Было ли там поле ввода? |
bLiveLink | bool | |
Связанные функции: GetLinkAtPositionHTML_NeedsPaint_t
Вызывается, когда Surface получает запрос на отрисовку. Здесь вы получите данные об изображении, которое необходимо вывести на экран.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
pBGRA | const char * | Указатель на данные изображения в формате B8G8R8A8, актуальные до следующего вызова SteamAPI_RunCallbacks. |
unWide | uint32 | Полная ширина pBGRA текстуры в пикселях. |
unTall | uint32 | Полная высота pBGRA текстуры в пикселях. |
unUpdateX | uint32 | Сдвиг повреждённого прямоугольника по x в этом обновлении. |
unUpdateY | uint32 | Сдвиг повреждённого прямоугольника по y в этом обновлении. |
unUpdateWide | uint32 | Ширина повреждённого прямоугольника в этом обновлении. |
unUpdateTall | uint32 | Высота повреждённого прямоугольника в этом обновлении. |
unScrollX | uint32 | Положение горизонтальной прокрутки браузера в момент отрисовки текстуры. |
unScrollY | uint32 | Положение вертикальной прокрутки браузера в момент отрисовки текстуры. |
flPageScale | float | Масштаб браузера в момент отрисовки текстуры. |
unPageSerial | uint32 | Прирастает при каждой новой загрузке страницы. Можно использовать для запрета отрисовки при переходе на новые страницы. |
HTML_NewWindow_t
Браузер создал новое HTML-окно.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
pchURL | const char * | Ссылка, которую требуется загрузить в новом окне. |
unX | uint32 | Позиция по оси x, где отобразить всплывающее окно. |
unY | uint32 | Позиция по оси y, где отобразить всплывающее окно. |
unWide | uint32 | Полная ширина pBGRA текстуры в пикселях. |
unTall | uint32 | Полная высота pBGRA текстуры в пикселях. |
unNewWindow_BrowserHandle | HHTMLBrowser | Дескриптор нового окна Surface. |
HTML_OpenLinkInNewTab_t
Браузер запросил загрузить ссылку в новой вкладке.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
pchURL | const char * | Ссылка, которую хочет загрузить браузер. |
HTML_SearchResults_t
Результаты поиска.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
unResults | uint32 | Число найденных результатов. |
unCurrentMatch | uint32 | Порядковый номер текущего совпадения относительно unResults . |
Связанные функции: FindHTML_SetCursor_t
Вызывается, когда браузер хочет сменить курсор мыши.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
eMouseCursor | uint32 | EMouseCursor, который необходимо отобразить. |
HTML_ShowToolTip_t
Вызывается, когда браузер хочет отобразить подсказку.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
pchMsg | const char * | Текст подсказки, которую требуется показать. |
HTML_StartRequest_t
Вызывается, когда браузер хочет перейти на новую страницу.
Обратите внимание: в ответ на этот обратный вызов необходимо вызвать
AllowStartRequest!
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, в котором требуется перейти к другой странице. |
pchURL | const char * | Ссылка, по которой требуется перейти. |
pchTarget | const char * | Тип целевого объекта HTML (к примеру, _blank, _self, _parent, _top). |
pchPostData | const char * | Любые отправленные с запросом данные. |
bIsRedirect | bool | True, если это http или html перенаправление с предыдущего запроса на загрузку. |
Связанные функции: LoadURLHTML_StatusText_t
Вызывается, когда браузер хочет отобразить информационное сообщение. Наиболее часто это используется, когда вы наводите курсор на ссылки.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
pchMsg | const char * | Текст отображаемого сообщения. |
HTML_UpdateToolTip_t
Вызывается, когда текст существующей подсказки обновлён.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
pchMsg | const char * | Новый текст подсказки. |
HTML_URLChanged_t
Вызывается, когда браузер переходит по новой ссылке.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
pchURL | const char * | Ссылка, по которой переходит браузер. |
pchPostData | const char * | Любые отправленные с запросом данные, NULL если их нет. |
bIsRedirect | bool | true, если это http или html перенаправление с предыдущего запроса на загрузку, в противном случае false. |
pchPageTitle | const char * | Заголовок страницы. |
bNewNavigation | bool | true, если это новая страница, а не вызов к истории браузера. |
HTML_VerticalScroll_t
Предоставляет информацию о том, видна ли вертикальная полоса прокрутки и каков её размер.
Название | Тип | Описание |
unBrowserHandle | HHTMLBrowser | Дескриптор объекта Surface, к которому относится данный обратный вызов. |
unScrollMax | uint32 | Максимальное расстояние, на которое можно прокрутить вертикально. |
unScrollCurrent | uint32 | Текущее положение вертикальной прокрутки. |
flPageScale | float | Текущий масштаб страницы. |
bVisible | bool | Видна ли вертикальная полоса прокрутки. |
unPageSize | uint32 | Полная высота страницы в пикселях. |
Связанные функции: SetVerticalScrollПеречисления
Далее приведён список перечислений, которые определены для использования с ISteamHTMLSurface.
EHTMLKeyModifiers
Используется, чтобы браузер узнал о том, какие клавиши клавиатуры нажаты (вызовы
KeyChar,
KeyUp и
KeyDown). Флаги можно совмещать при помощи побитового OR.
Название | Значение | Описание |
k_eHTMLKeyModifier_None | 0 | Ни один из модификаторов не нажат. |
k_eHTMLKeyModifier_AltDown | 1 << 0 | Нажата одна из клавиш ALT. |
k_eHTMLKeyModifier_CtrlDown | 1 << 1 | Нажата одна из клавиш CTRL. |
k_eHTMLKeyModifier_ShiftDown | 1 << 2 | Нажата одна из клавиш SHIFT. |
EHTMLMouseButton
Используется, чтобы браузер узнал, какая кнопка мыши нажата (вызовы
MouseUp,
MouseDown и
MouseDoubleClick).
Название | Значение | Описание |
eHTMLMouseButton_Left | 0 | Нажата левая кнопка. |
eHTMLMouseButton_Right | 1 | Нажата правая кнопка. |
eHTMLMouseButton_Middle | 2 | Нажата средняя кнопка. |
EMouseCursor
Далее приведён список курсоров мыши, которые HTML Surface может попросить отрисовать.
Название | Значение | Описание |
dc_user | 0 | |
dc_none | 1 | |
dc_arrow | 2 | |
dc_ibeam | 3 | |
dc_hourglass | 4 | |
dc_waitarrow | 5 | |
dc_crosshair | 6 | |
dc_up | 7 | |
dc_sizenw | 8 | |
dc_sizese | 9 | |
dc_sizene | 10 | |
dc_sizesw | 11 | |
dc_sizew | 12 | |
dc_sizee | 13 | |
dc_sizen | 14 | |
dc_sizes | 15 | |
dc_sizewe | 16 | |
dc_sizens | 17 | |
dc_sizeall | 18 | |
dc_no | 19 | |
dc_hand | 20 | |
dc_blank | 21 | Не нужно отображать индивидуализированный курсор, используйте курсор по умолчанию. |
dc_middle_pan | 22 | |
dc_north_pan | 23 | |
dc_north_east_pan | 24 | |
dc_east_pan | 25 | |
dc_south_east_pan | 26 | |
dc_south_pan | 27 | |
dc_south_west_pan | 28 | |
dc_west_pan | 29 | |
dc_north_west_pan | 30 | |
dc_alias | 31 | |
dc_cell | 32 | |
dc_colresize | 33 | |
dc_copycur | 34 | |
dc_verticaltext | 35 | |
dc_rowresize | 36 | |
dc_zoomin | 37 | |
dc_zoomout | 38 | |
dc_help | 39 | |
dc_custom | 40 | |
dc_last | 41 | Используется только для итерации по списку курсоров. У индивидуализированных курсоров могут быть значения, превосходящие данное. |
Typedefs
Далее приведён список объявлений typedef, которые определены для использования с ISteamHTMLSurface.
Название | Базовый тип | Описание |
HHTMLBrowser | uint32 | Представляет собой уникальный дескриптор экземпляра HTML Surface. |
Константы
Далее приведён список констант, которые определены для использования с ISteamHTMLSurface.
Название | Тип | Значение | Описание |
INVALID_HTMLBROWSER | uint32 | 0 | Означает, что дескриптор браузера недействителен. Вы должны инициализировать свои собственные дескрипторы HHTMLBrowser для этого значения, а затем вернуть его при закрытии страницы. |
STEAMHTMLSURFACE_INTERFACE_VERSION | const char * | "STEAMHTMLSURFACE_INTERFACE_VERSION_003" | |