Interface that allows to listen for various events in the View. More...
Classes | |
struct | IClipboardData |
The class should be used by the implementer to set the data recovered from the clipboard. Use this class only in the context of a ViewListener::OnClipboardTextGet call. More... | |
Public Member Functions | |
IViewListener () | |
virtual | ~IViewListener () |
virtual bool | OnNavigateTo (const char *url) |
Called when a navigation is about to occur. The user is able to interrupt the navigation or let it continue normally. More... | |
virtual InterceptRequestStatus | OnResourceRequestIntercepted (const char *url) |
Only used when View::InterceptResourceRequests is explicitly set to true. Called before sending a request to load a resource from the specified url. More... | |
virtual void | OnScriptContextCreated () |
Called immediately after the script context has been created for the page. This happens before starting to build the DOM. Execute any scripts that will influence DOM creation here. More... | |
virtual void | OnDOMBuilt () |
Called when the page's DOM is fully constructed, but the referenced resources may not finish loading. More... | |
virtual void | OnLoadFailed (const char *url, const char *error) |
Called when a navigation change request failed. More... | |
virtual void | OnFinishLoad (const char *url) |
Called when a page, including the resources it refers to, is completely loaded and initialized. More... | |
virtual void | OnReadyForBindings () |
Called when the view is ready to accept JavaScript bindings. More... | |
virtual void | OnBindingsReleased () |
Called when the JavaScript bindings are released. All registered event, call handlers and models have been automatically unregistered. More... | |
virtual ScreenInfo | OnScreenInfoRequested () |
Called when JavaScript requested screen metrics Returns current screen metrics. More... | |
virtual EventAction::Actions | OnNodeTouched (const INodeProxy *node, const TouchEventData *event, void *userData, const InputEventPhase::PhaseType phase) |
Called before an event is passed to a DOM node for evaluation. The user is able to interrupt the handling and bubbling of events or let them continue normally. Phase is the current PhaseType of the event. More... | |
virtual EventAction::Actions | OnNodeMouseEvent (const INodeProxy *node, const MouseEventData *event, void *userData, const InputEventPhase::PhaseType phase) |
Called before an event is passed to a DOM node for evaluation. The user is able to interrupt the handling and bubbling of events or let them continue normally. Phase is the current PhaseType of the event. More... | |
virtual EventAction::Actions | OnNodeKeyEvent (const INodeProxy *node, const KeyEventData *event, void *userData, const InputEventPhase::PhaseType phase) |
Called before an event is passed to a DOM node for evaluation. The user is able to interrupt the handling and bubbling of events or let them continue normally. Phase is the current PhaseType of the event. More... | |
virtual void | OnAudioStreamCreated (int id, int bitDepth, int channels, float samplingRate) |
Called by the UI when a media element initializes an audio stream. More... | |
virtual void | OnAudioStreamClosed (int id) |
Called when an audio stream is destroyed. More... | |
virtual void | OnAudioStreamPlay (int id) |
Called by the UI when a media element starts playing an audio stream. More... | |
virtual void | OnAudioStreamPause (int id) |
Called by the UI when a playing media element pauses. More... | |
virtual void | OnAudioDataReceived (int id, int samples, float **pcm, int channels) |
Called by the UI when there is decoded PCM data available for playing. More... | |
virtual void | OnAudioStreamEnded (int id) |
Called when an audio stream ends and will no longer receive data. More... | |
virtual void | OnAudioStreamVolumeChanged (int id, float volume) |
Called when an audio stream volume has changed. More... | |
virtual void | OnTextInputTypeChanged (TextInputControlType::ControlType type) |
Called when the current text input control changes (i.e. the user click an edit-box). Use this method to decide when to allow for IME input. More... | |
virtual void | OnCaretRectChanged (int x, int y, unsigned width, unsigned height) |
Called when the caret changes during IME composition. You can use this method to correctly position a custom IME control & candidate list. More... | |
virtual void | OnIMEShouldCancelComposition () |
Called when the user must reset the IME composition due to an event in the View itself (i.e. the user switched focus to an input field) More... | |
virtual void | OnCursorChanged (CursorTypes::Cursors cursor, const char *url, const float *xHotspot, const float *yHotspot) |
Called when the cursor under the pointer changes. The user should modify the visible cursor from the OS to reflect the change. More... | |
virtual void | OnClipboardTextSet (const char *text, unsigned lengthBytes) |
Called when the user has initaiated an operation of putting data in the Clipboard (copy or cut). The implementer must communicate with the OS API and set the passed data in the Clipboard. More... | |
virtual void | OnClipboardTextGet (IClipboardData *setDataObject) |
Called when the user has initiated an operation that recovers data from the clipboard (paste). The implementer should get the text from the clipboard with the OS API and call the passed callback to set the data. More... | |
virtual IClientSideSocket * | OnCreateWebSocket (ISocketListener *listener, const char *url, const char **protocols, unsigned protocolsCount) |
Called when the view tries to establish a web socket connection. When JS tries to create a new web sockets it will create a new cohtml::ISocketListener in the cohtml::View. OnCreateWebSocket will be called after that and it must respond with a cohtml::IClientSideSocket object which represent the socket implementation for the current platform. More... | |
Interface that allows to listen for various events in the View.
cohtml::IViewListener::IViewListener | ( | ) |
|
virtual |
|
inlinevirtual |
Called by the UI when there is decoded PCM data available for playing.
id | the unique ID of the stream |
samples | the number of available samples |
pcm | the decoded PCM data. Represented as a 2D array with |channels| x |samples| floating point elements in the range [-1, 1]. |
channels | the number of channels |
|
inlinevirtual |
Called when an audio stream is destroyed.
id | the unique id of audio stream that was closed |
|
inlinevirtual |
Called by the UI when a media element initializes an audio stream.
id | the unique ID of the stream |
bitDepth | the number of bits per audio sample |
channels | the number of channels in the stream |
samplingRate | the sampling rate of the stream in Hz |
|
inlinevirtual |
Called when an audio stream ends and will no longer receive data.
id | the unique ID of the stream |
|
inlinevirtual |
Called by the UI when a playing media element pauses.
id | the unique ID of the stream |
|
inlinevirtual |
Called by the UI when a media element starts playing an audio stream.
id | the unique ID of the stream |
|
inlinevirtual |
Called when an audio stream volume has changed.
id | the unique ID of the stream |
volume | the new value of the volume |
|
inlinevirtual |
Called when the JavaScript bindings are released. All registered event, call handlers and models have been automatically unregistered.
|
inlinevirtual |
Called when the caret changes during IME composition. You can use this method to correctly position a custom IME control & candidate list.
x | the x position of the selection caret |
y | the y position of the selection caret |
width | the width of the selection caret |
height | the height of the selection caret |
|
inlinevirtual |
Called when the user has initiated an operation that recovers data from the clipboard (paste). The implementer should get the text from the clipboard with the OS API and call the passed callback to set the data.
setDataObject | Set function that must be called with the data recovered from the clipboard |
|
inlinevirtual |
Called when the user has initaiated an operation of putting data in the Clipboard (copy or cut). The implementer must communicate with the OS API and set the passed data in the Clipboard.
text | The text bytes (UTF-8) that the user is trying to copy in the clipboard |
lengthBytes | The length in bytes of the text passed |
|
inlinevirtual |
Called when the view tries to establish a web socket connection. When JS tries to create a new web sockets it will create a new cohtml::ISocketListener in the cohtml::View. OnCreateWebSocket will be called after that and it must respond with a cohtml::IClientSideSocket object which represent the socket implementation for the current platform.
listener | is cohtml side of the connnection, user side must use it to communicate with the View. |
url | The URL to which to connect; this should be the URL to which the WebSocket server will respond. |
protocols | Either a single protocol string or an array of protocol strings. These strings are used to indicate sub-protocols, so that a single server can implement multiple WebSocket sub-protocols (for example, you might want one server to be able to handle different types of interactions depending on the specified protocol). if you don't specify a protocol string, an empty string is assumed. |
protocolsCount | the number of protocols passed |
|
inlinevirtual |
Called when the cursor under the pointer changes. The user should modify the visible cursor from the OS to reflect the change.
cursor | Specifies the Cursor type to show. If the type is URL, then the url param will be set. |
url | The URL of the cursor to show. The value is not nullptr only if the cursor type is URL. |
xHotspot | The optional X coordinate of the cursor hotspot set from CSS. Can be nullptr if it is not specified in CSS. |
yHotspot | The optional Y coordinate of the cursor hotspot set from CSS. Can be nullptr if it is not specified in CSS. |
|
inlinevirtual |
Called when the page's DOM is fully constructed, but the referenced resources may not finish loading.
|
inlinevirtual |
Called when a page, including the resources it refers to, is completely loaded and initialized.
url | The URL which loaded successfully |
|
inlinevirtual |
Called when the user must reset the IME composition due to an event in the View itself (i.e. the user switched focus to an input field)
|
inlinevirtual |
Called when a navigation change request failed.
url | The URL which failed to load |
error | The error message |
|
inlinevirtual |
Called when a navigation is about to occur. The user is able to interrupt the navigation or let it continue normally.
url | The URL which the view will load |
|
inlinevirtual |
Called before an event is passed to a DOM node for evaluation. The user is able to interrupt the handling and bubbling of events or let them continue normally. Phase is the current PhaseType of the event.
|
inlinevirtual |
Called before an event is passed to a DOM node for evaluation. The user is able to interrupt the handling and bubbling of events or let them continue normally. Phase is the current PhaseType of the event.
|
inlinevirtual |
Called before an event is passed to a DOM node for evaluation. The user is able to interrupt the handling and bubbling of events or let them continue normally. Phase is the current PhaseType of the event.
|
inlinevirtual |
Called when the view is ready to accept JavaScript bindings.
|
inlinevirtual |
Only used when View::InterceptResourceRequests is explicitly set to true. Called before sending a request to load a resource from the specified url.
url | The URL requested by the view |
|
inlinevirtual |
Called when JavaScript requested screen metrics Returns current screen metrics.
|
inlinevirtual |
Called immediately after the script context has been created for the page. This happens before starting to build the DOM. Execute any scripts that will influence DOM creation here.
|
inlinevirtual |
Called when the current text input control changes (i.e. the user click an edit-box). Use this method to decide when to allow for IME input.
type | the type of the currently focused text input control by the user |