Loading...
Searching...
No Matches
CAPI_View.h
Go to the documentation of this file.
1/**************************************************************************************************
2 * This file is a part of Ultralight. *
3 * *
4 * See <https://ultralig.ht> for licensing and more. *
5 * *
6 * (C) 2024 Ultralight, Inc. *
7 **************************************************************************************************/
8
9///
10/// @file CAPI_View.h
11///
12/// Web-page container rendered to an offscreen surface.
13///
14/// `#include <Ultralight/CAPI/CAPI_View.h>`
15///
16/// The View class is responsible for loading and rendering web-pages to an offscreen surface. It
17/// is completely isolated from the OS windowing system, you must forward all input events to it
18/// from your application.
19///
20/// ## Creating a View
21///
22/// You can create a View by calling ulCreateView():
23///
24/// ```
25/// // Create a ULViewConfig with default values
26/// ULViewConfig view_config = ulCreateViewConfig();
27///
28/// // Create a View, 500 by 500 pixels in size, using the default Session
29/// ULView view = ulCreateView(renderer, 500, 500, view_config, NULL);
30///
31/// // Clean up the ULViewConfig
32/// ulDestroyViewConfig(view_config);
33/// ```
34///
35/// @note When using ulCreateApp(), the library will automatically create a View for you when you
36/// call ulCreateOverlay().
37///
38#ifndef ULTRALIGHT_CAPI_VIEW_H
39#define ULTRALIGHT_CAPI_VIEW_H
40
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
47/******************************************************************************
48 * ViewConfig
49 *****************************************************************************/
50
51///
52/// Create view configuration with default values (see <Ultralight/platform/View.h>).
53///
55
56///
57/// Destroy view configuration.
58///
60
61///
62/// Set a user-generated id of the display (monitor, TV, or screen) that the View will be shown on.
63///
64/// Animations are driven based on the physical refresh rate of the display. Multiple Views can
65/// share the same display.
66///
67///
68/// @note This is automatically managed for you when ulCreateApp() is used.
69///
70/// @see ulRefreshDisplay()
71///
72ULExport void ulViewConfigSetDisplayId(ULViewConfig config, unsigned int display_id);
73
74///
75/// Set whether to render using the GPU renderer (accelerated) or the CPU renderer (unaccelerated).
76///
77/// This option is only valid if you're managing the Renderer yourself (eg, you've previously
78/// called ulCreateRenderer() instead of ulCreateApp()).
79///
80/// When true, the View will be rendered to an offscreen GPU texture using the GPU driver set in
81/// ulPlatformSetGPUDriver(). You can fetch details for the texture via ulViewGetRenderTarget().
82///
83/// When false (the default), the View will be rendered to an offscreen pixel buffer using the
84/// multithreaded CPU renderer. This pixel buffer can optionally be provided by the user--
85/// for more info see ulViewGetSurface().
86///
87ULExport void ulViewConfigSetIsAccelerated(ULViewConfig config, bool is_accelerated);
88
89///
90/// Set whether images should be enabled (Default = True).
91///
92ULExport void ulViewConfigSetIsTransparent(ULViewConfig config, bool is_transparent);
93
94///
95/// Set the initial device scale, ie. the amount to scale page units to screen pixels. This should be
96/// set to the scaling factor of the device that the View is displayed on. (Default = 1.0)
97///
98/// @note 1.0 is equal to 100% zoom (no scaling), 2.0 is equal to 200% zoom (2x scaling)
99///
100ULExport void ulViewConfigSetInitialDeviceScale(ULViewConfig config, double initial_device_scale);
101
102///
103/// Set whether or not the View should initially have input focus. (Default = True)
104///
106
107///
108/// Set whether images should be enabled (Default = True).
109///
111
112///
113/// Set whether JavaScript should be enabled (Default = True).
114///
116
117///
118/// Set default font-family to use (Default = Times New Roman).
119///
121
122///
123/// Set default font-family to use for fixed fonts, eg <pre> and <code>
124/// (Default = Courier New).
125///
127
128///
129/// Set default font-family to use for serif fonts (Default = Times New Roman).
130///
132
133///
134/// Set default font-family to use for sans-serif fonts (Default = Arial).
135///
137
138///
139/// Set user agent string (See <Ultralight/platform/Config.h> for the default).
140///
142
143/******************************************************************************
144 * View
145 *****************************************************************************/
146
147///
148/// Create a View with certain size (in pixels).
149///
150/// @note You can pass null to 'session' to use the default session.
151///
152ULExport ULView ulCreateView(ULRenderer renderer, unsigned int width, unsigned int height,
153 ULViewConfig view_config, ULSession session);
154
155///
156/// Destroy a View.
157///
159
160///
161/// Get current URL.
162///
163/// @note Don't destroy the returned string, it is owned by the View.
164///
166
167///
168/// Get current title.
169///
170/// @note Don't destroy the returned string, it is owned by the View.
171///
173
174///
175/// Get the width, in pixels.
176///
177ULExport unsigned int ulViewGetWidth(ULView view);
178
179///
180/// Get the height, in pixels.
181///
182ULExport unsigned int ulViewGetHeight(ULView view);
183
184///
185// Get the display id of the View.
186///
188
189///
190/// Set the display id of the View.
191///
192/// This should be called when the View is moved to another display.
193///
194ULExport void ulViewSetDisplayId(ULView view, unsigned int display_id);
195
196///
197/// Get the device scale, ie. the amount to scale page units to screen pixels.
198///
199/// For example, a value of 1.0 is equivalent to 100% zoom. A value of 2.0 is 200% zoom.
200///
202
203///
204/// Set the device scale.
205///
206ULExport void ulViewSetDeviceScale(ULView view, double scale);
207
208///
209/// Whether or not the View is GPU-accelerated. If this is false, the page will be rendered
210/// via the CPU renderer.
211///
213
214///
215/// Whether or not the View supports transparent backgrounds.
216///
218
219///
220/// Check if the main frame of the page is currrently loading.
221///
223
224///
225/// Get the RenderTarget for the View.
226///
227/// @note Only valid if this View is GPU accelerated.
228///
229/// You can use this with your GPUDriver implementation to bind and display the
230/// corresponding texture in your application.
231///
233
234///
235/// Get the Surface for the View (native pixel buffer that the CPU renderer draws into).
236///
237/// @note This operation is only valid if you're managing the Renderer yourself (eg, you've
238/// previously called ulCreateRenderer() instead of ulCreateApp()).
239///
240/// This function will return NULL if this View is GPU accelerated.
241///
242/// The default Surface is BitmapSurface but you can provide your own Surface implementation
243/// via ulPlatformSetSurfaceDefinition.
244///
245/// When using the default Surface, you can retrieve the underlying bitmap by casting
246/// ULSurface to ULBitmapSurface and calling ulBitmapSurfaceGetBitmap().
247///
249
250///
251/// Load a raw string of HTML.
252///
253ULExport void ulViewLoadHTML(ULView view, ULString html_string);
254
255///
256/// Load a URL into main frame.
257///
258ULExport void ulViewLoadURL(ULView view, ULString url_string);
259
260///
261/// Resize view to a certain width and height (in pixels).
262///
263ULExport void ulViewResize(ULView view, unsigned int width, unsigned int height);
264
265///
266/// Acquire the page's JSContext for use with JavaScriptCore API.
267///
268/// @note This call locks the context for the current thread. You should call
269/// ulViewUnlockJSContext() after using the context so other worker threads can modify
270/// JavaScript state.
271///
272/// @note The lock is recusive, it's okay to call this multiple times as long as you call
273/// ulViewUnlockJSContext() the same number of times.
274///
276
277///
278/// Unlock the page's JSContext after a previous call to ulViewLockJSContext().
279///
281
282///
283/// Evaluate a string of JavaScript and return result.
284///
285/// @param js_string The string of JavaScript to evaluate.
286///
287/// @param exception The address of a ULString to store a description of the last exception. Pass
288/// NULL to ignore this. Don't destroy the exception string returned, it's owned
289/// by the View.
290///
291/// @note Don't destroy the returned string, it's owned by the View. This value is reset with every
292/// call-- if you want to retain it you should copy the result to a new string via
293/// ulCreateStringFromCopy().
294///
295/// @note An example of using this API:
296/// <pre>
297/// ULString script = ulCreateString("1 + 1");
298/// ULString exception;
299/// ULString result = ulViewEvaluateScript(view, script, &exception);
300/// /* Use the result ("2") and exception description (if any) here. */
301/// ulDestroyString(script);
302/// </pre>
303///
305
306///
307/// Check if can navigate backwards in history.
308///
310
311///
312/// Check if can navigate forwards in history.
313///
315
316///
317/// Navigate backwards in history.
318///
320
321///
322/// Navigate forwards in history.
323///
325
326///
327/// Navigate to arbitrary offset in history.
328///
330
331///
332/// Reload current page.
333///
335
336///
337/// Stop all page loads.
338///
340
341///
342/// Give focus to the View.
343///
344/// You should call this to give visual indication that the View has input focus (changes active
345/// text selection colors, for example).
346///
348
349///
350/// Remove focus from the View and unfocus any focused input elements.
351///
352/// You should call this to give visual indication that the View has lost input focus.
353///
355
356///
357/// Whether or not the View has focus.
358///
360
361///
362/// Whether or not the View has an input element with visible keyboard focus (indicated by a
363/// blinking caret).
364///
365/// You can use this to decide whether or not the View should consume keyboard input events (useful
366/// in games with mixed UI and key handling).
367///
369
370///
371/// Fire a keyboard event.
372///
374
375///
376/// Fire a mouse event.
377///
379
380///
381/// Fire a scroll event.
382///
384
385typedef void (*ULChangeTitleCallback)(void* user_data, ULView caller, ULString title);
386
387///
388/// Set callback for when the page title changes.
389///
391 void* user_data);
392
393typedef void (*ULChangeURLCallback)(void* user_data, ULView caller, ULString url);
394
395///
396/// Set callback for when the page URL changes.
397///
399 void* user_data);
400
401typedef void (*ULChangeTooltipCallback)(void* user_data, ULView caller, ULString tooltip);
402
403///
404/// Set callback for when the tooltip changes (usually result of a mouse hover).
405///
407 void* user_data);
408
409typedef void (*ULChangeCursorCallback)(void* user_data, ULView caller, ULCursor cursor);
410
411///
412/// Set callback for when the mouse cursor changes.
413///
415 void* user_data);
416
417typedef void (*ULAddConsoleMessageCallback)(void* user_data, ULView caller, ULMessageSource source,
418 ULMessageLevel level, ULString message,
419 unsigned int line_number, unsigned int column_number,
420 ULString source_id);
421
422///
423/// Set callback for when a message is added to the console (useful for JavaScript / network errors
424/// and debugging).
425///
427 void* user_data);
428
429typedef ULView (*ULCreateChildViewCallback)(void* user_data, ULView caller, ULString opener_url,
430 ULString target_url, bool is_popup,
431 ULIntRect popup_rect);
432
433///
434/// Set callback for when the page wants to create a new View.
435///
436/// This is usually the result of a user clicking a link with target="_blank" or by JavaScript
437/// calling window.open(url).
438///
439/// To allow creation of these new Views, you should create a new View in this callback, resize it
440/// to your container, and return it. You are responsible for displaying the returned View.
441///
442/// You should return NULL if you want to block the action.
443///
445 void* user_data);
446
447typedef ULView (*ULCreateInspectorViewCallback)(void* user_data, ULView caller, bool is_local,
448 ULString inspected_url);
449
450///
451/// Set callback for when the page wants to create a new View to display the local inspector in.
452///
453/// You should create a new View in this callback, resize it to your
454/// container, and return it. You are responsible for displaying the returned View.
455///
457 void* user_data);
458
459typedef void (*ULBeginLoadingCallback)(void* user_data, ULView caller, unsigned long long frame_id,
460 bool is_main_frame, ULString url);
461
462///
463/// Set callback for when the page begins loading a new URL into a frame.
464///
466 void* user_data);
467
468typedef void (*ULFinishLoadingCallback)(void* user_data, ULView caller, unsigned long long frame_id,
469 bool is_main_frame, ULString url);
470
471///
472/// Set callback for when the page finishes loading a URL into a frame.
473///
475 void* user_data);
476
477typedef void (*ULFailLoadingCallback)(void* user_data, ULView caller, unsigned long long frame_id,
478 bool is_main_frame, ULString url, ULString description,
479 ULString error_domain, int error_code);
480
481///
482/// Set callback for when an error occurs while loading a URL into a frame.
483///
485 void* user_data);
486
487typedef void (*ULWindowObjectReadyCallback)(void* user_data, ULView caller,
488 unsigned long long frame_id, bool is_main_frame,
489 ULString url);
490
491///
492/// Set callback for when the JavaScript window object is reset for a new page load.
493///
494/// This is called before any scripts are executed on the page and is the earliest time to setup any
495/// initial JavaScript state or bindings.
496///
497/// The document is not guaranteed to be loaded/parsed at this point. If you need to make any
498/// JavaScript calls that are dependent on DOM elements or scripts on the page, use DOMReady
499/// instead.
500///
501/// The window object is lazily initialized (this will not be called on pages with no scripts).
502///
504 void* user_data);
505
506typedef void (*ULDOMReadyCallback)(void* user_data, ULView caller, unsigned long long frame_id,
507 bool is_main_frame, ULString url);
508
509///
510/// Set callback for when all JavaScript has been parsed and the document is ready.
511///
512/// This is the best time to make any JavaScript calls that are dependent on DOM elements or scripts
513/// on the page.
514///
515ULExport void ulViewSetDOMReadyCallback(ULView view, ULDOMReadyCallback callback, void* user_data);
516
517typedef void (*ULUpdateHistoryCallback)(void* user_data, ULView caller);
518
519///
520/// Set callback for when the history (back/forward state) is modified.
521///
523 void* user_data);
524
525///
526/// Set whether or not a view should be repainted during the next call to ulRender.
527///
528/// @note This flag is automatically set whenever the page content changes but you can set it
529/// directly in case you need to force a repaint.
530///
531ULExport void ulViewSetNeedsPaint(ULView view, bool needs_paint);
532
533///
534/// Whether or not a view should be painted during the next call to ulRender.
535///
537
538///
539/// Create an Inspector View to inspect / debug this View locally.
540///
541/// This will only succeed if you have the inspector assets in your filesystem-- the inspector
542/// will look for file:///inspector/Main.html when it first loads.
543///
544/// You must handle ulViewSetCreateInspectorViewCallback so that the library has a View to display
545/// the inspector in. This function will call the callback only if an inspector view is not
546/// currently active.
547///
549
550#ifdef __cplusplus
551} // extern "C"
552#endif
553
554#endif // ULTRALIGHT_CAPI_VIEW_H
Various defines and utility functions for the C API.
ULMessageSource
Definition CAPI_Defines.h:78
struct C_View * ULView
Definition CAPI_Defines.h:63
struct C_String * ULString
Definition CAPI_Defines.h:65
struct C_Session * ULSession
Definition CAPI_Defines.h:61
#define ULExport
Definition CAPI_Defines.h:38
struct C_Surface * ULSurface
Definition CAPI_Defines.h:73
ULMessageLevel
Definition CAPI_Defines.h:98
ULCursor
Definition CAPI_Defines.h:106
struct C_MouseEvent * ULMouseEvent
Definition CAPI_Defines.h:68
struct C_ViewConfig * ULViewConfig
Definition CAPI_Defines.h:62
struct C_ScrollEvent * ULScrollEvent
Definition CAPI_Defines.h:69
struct C_Renderer * ULRenderer
Definition CAPI_Defines.h:60
struct C_KeyEvent * ULKeyEvent
Definition CAPI_Defines.h:67
ULExport unsigned int ulViewGetWidth(ULView view)
Get the width, in pixels.
ULExport void ulViewSetDeviceScale(ULView view, double scale)
Set the device scale.
ULExport void ulViewSetChangeCursorCallback(ULView view, ULChangeCursorCallback callback, void *user_data)
Set callback for when the mouse cursor changes.
ULExport bool ulViewHasFocus(ULView view)
Whether or not the View has focus.
ULExport void ulViewLoadURL(ULView view, ULString url_string)
Load a URL into main frame.
ULExport void ulViewGoBack(ULView view)
Navigate backwards in history.
ULExport void ulViewSetBeginLoadingCallback(ULView view, ULBeginLoadingCallback callback, void *user_data)
Set callback for when the page begins loading a new URL into a frame.
ULExport unsigned int ulViewGetHeight(ULView view)
Get the height, in pixels.
void(* ULBeginLoadingCallback)(void *user_data, ULView caller, unsigned long long frame_id, bool is_main_frame, ULString url)
Definition CAPI_View.h:459
ULExport void ulViewSetDisplayId(ULView view, unsigned int display_id)
Set the display id of the View.
ULExport void ulViewGoForward(ULView view)
Navigate forwards in history.
ULExport void ulViewReload(ULView view)
Reload current page.
ULExport ULString ulViewGetTitle(ULView view)
Get current title.
void(* ULChangeCursorCallback)(void *user_data, ULView caller, ULCursor cursor)
Definition CAPI_View.h:409
ULExport void ulViewLoadHTML(ULView view, ULString html_string)
Load a raw string of HTML.
ULExport JSContextRef ulViewLockJSContext(ULView view)
Acquire the page's JSContext for use with JavaScriptCore API.
void(* ULChangeTitleCallback)(void *user_data, ULView caller, ULString title)
Definition CAPI_View.h:385
ULExport void ulViewConfigSetFontFamilyFixed(ULViewConfig config, ULString font_name)
Set default font-family to use for fixed fonts, eg.
ULExport void ulViewFireMouseEvent(ULView view, ULMouseEvent mouse_event)
Fire a mouse event.
ULExport void ulViewGoToHistoryOffset(ULView view, int offset)
Navigate to arbitrary offset in history.
ULExport ULViewConfig ulCreateViewConfig()
Create view configuration with default values (see <Ultralight/platform/View.h>).
ULExport void ulViewSetFinishLoadingCallback(ULView view, ULFinishLoadingCallback callback, void *user_data)
Set callback for when the page finishes loading a URL into a frame.
ULExport void ulViewFireKeyEvent(ULView view, ULKeyEvent key_event)
Fire a keyboard event.
ULExport void ulDestroyView(ULView view)
Destroy a View.
void(* ULFinishLoadingCallback)(void *user_data, ULView caller, unsigned long long frame_id, bool is_main_frame, ULString url)
Definition CAPI_View.h:468
ULExport bool ulViewCanGoBack(ULView view)
Check if can navigate backwards in history.
ULExport ULView ulCreateView(ULRenderer renderer, unsigned int width, unsigned int height, ULViewConfig view_config, ULSession session)
Create a View with certain size (in pixels).
ULExport void ulViewConfigSetEnableImages(ULViewConfig config, bool enabled)
Set whether images should be enabled (Default = True).
ULExport void ulViewSetNeedsPaint(ULView view, bool needs_paint)
Set whether or not a view should be repainted during the next call to ulRender.
ULExport void ulViewSetChangeURLCallback(ULView view, ULChangeURLCallback callback, void *user_data)
Set callback for when the page URL changes.
ULExport bool ulViewIsTransparent(ULView view)
Whether or not the View supports transparent backgrounds.
ULExport void ulDestroyViewConfig(ULViewConfig config)
Destroy view configuration.
ULExport void ulViewFireScrollEvent(ULView view, ULScrollEvent scroll_event)
Fire a scroll event.
ULExport bool ulViewHasInputFocus(ULView view)
Whether or not the View has an input element with visible keyboard focus (indicated by a blinking car...
ULExport void ulViewConfigSetDisplayId(ULViewConfig config, unsigned int display_id)
Set a user-generated id of the display (monitor, TV, or screen) that the View will be shown on.
ULExport void ulViewSetCreateChildViewCallback(ULView view, ULCreateChildViewCallback callback, void *user_data)
Set callback for when the page wants to create a new View.
ULExport void ulViewSetWindowObjectReadyCallback(ULView view, ULWindowObjectReadyCallback callback, void *user_data)
Set callback for when the JavaScript window object is reset for a new page load.
ULExport void ulViewUnfocus(ULView view)
Remove focus from the View and unfocus any focused input elements.
ULExport void ulViewResize(ULView view, unsigned int width, unsigned int height)
Resize view to a certain width and height (in pixels).
ULExport void ulViewSetFailLoadingCallback(ULView view, ULFailLoadingCallback callback, void *user_data)
Set callback for when an error occurs while loading a URL into a frame.
void(* ULWindowObjectReadyCallback)(void *user_data, ULView caller, unsigned long long frame_id, bool is_main_frame, ULString url)
Definition CAPI_View.h:487
ULExport void ulViewSetChangeTitleCallback(ULView view, ULChangeTitleCallback callback, void *user_data)
Set callback for when the page title changes.
ULExport void ulViewSetCreateInspectorViewCallback(ULView view, ULCreateInspectorViewCallback callback, void *user_data)
Set callback for when the page wants to create a new View to display the local inspector in.
ULExport void ulViewConfigSetFontFamilyStandard(ULViewConfig config, ULString font_name)
Set default font-family to use (Default = Times New Roman).
ULExport bool ulViewGetNeedsPaint(ULView view)
Whether or not a view should be painted during the next call to ulRender.
ULExport void ulViewFocus(ULView view)
Give focus to the View.
void(* ULUpdateHistoryCallback)(void *user_data, ULView caller)
Definition CAPI_View.h:517
ULExport ULSurface ulViewGetSurface(ULView view)
Get the Surface for the View (native pixel buffer that the CPU renderer draws into).
ULExport void ulViewConfigSetUserAgent(ULViewConfig config, ULString agent_string)
Set user agent string (See <Ultralight/platform/Config.h> for the default).
ULExport void ulViewConfigSetInitialFocus(ULViewConfig config, bool is_focused)
Set whether or not the View should initially have input focus.
ULExport void ulViewSetUpdateHistoryCallback(ULView view, ULUpdateHistoryCallback callback, void *user_data)
Set callback for when the history (back/forward state) is modified.
ULExport double ulViewGetDeviceScale(ULView view)
Get the device scale, ie.
void(* ULAddConsoleMessageCallback)(void *user_data, ULView caller, ULMessageSource source, ULMessageLevel level, ULString message, unsigned int line_number, unsigned int column_number, ULString source_id)
Definition CAPI_View.h:417
ULExport bool ulViewIsAccelerated(ULView view)
Whether or not the View is GPU-accelerated.
ULExport void ulViewSetChangeTooltipCallback(ULView view, ULChangeTooltipCallback callback, void *user_data)
Set callback for when the tooltip changes (usually result of a mouse hover).
ULExport void ulViewConfigSetEnableJavaScript(ULViewConfig config, bool enabled)
Set whether JavaScript should be enabled (Default = True).
ULExport void ulViewCreateLocalInspectorView(ULView view)
Create an Inspector View to inspect / debug this View locally.
ULExport void ulViewUnlockJSContext(ULView view)
Unlock the page's JSContext after a previous call to ulViewLockJSContext().
ULExport void ulViewConfigSetInitialDeviceScale(ULViewConfig config, double initial_device_scale)
Set the initial device scale, ie.
ULExport void ulViewSetAddConsoleMessageCallback(ULView view, ULAddConsoleMessageCallback callback, void *user_data)
Set callback for when a message is added to the console (useful for JavaScript / network errors and d...
void(* ULChangeURLCallback)(void *user_data, ULView caller, ULString url)
Definition CAPI_View.h:393
ULExport void ulViewConfigSetIsAccelerated(ULViewConfig config, bool is_accelerated)
Set whether to render using the GPU renderer (accelerated) or the CPU renderer (unaccelerated).
ULExport void ulViewConfigSetIsTransparent(ULViewConfig config, bool is_transparent)
Set whether images should be enabled (Default = True).
ULExport void ulViewStop(ULView view)
Stop all page loads.
ULExport bool ulViewIsLoading(ULView view)
Check if the main frame of the page is currrently loading.
ULExport ULString ulViewGetURL(ULView view)
Get current URL.
ULExport ULRenderTarget ulViewGetRenderTarget(ULView view)
Get the RenderTarget for the View.
ULExport void ulViewSetDOMReadyCallback(ULView view, ULDOMReadyCallback callback, void *user_data)
Set callback for when all JavaScript has been parsed and the document is ready.
ULExport void ulViewConfigSetFontFamilySansSerif(ULViewConfig config, ULString font_name)
Set default font-family to use for sans-serif fonts (Default = Arial).
ULExport unsigned int ulViewGetDisplayId(ULView view)
ULView(* ULCreateInspectorViewCallback)(void *user_data, ULView caller, bool is_local, ULString inspected_url)
Definition CAPI_View.h:447
ULExport ULString ulViewEvaluateScript(ULView view, ULString js_string, ULString *exception)
Evaluate a string of JavaScript and return result.
void(* ULChangeTooltipCallback)(void *user_data, ULView caller, ULString tooltip)
Definition CAPI_View.h:401
ULExport bool ulViewCanGoForward(ULView view)
Check if can navigate forwards in history.
ULExport void ulViewConfigSetFontFamilySerif(ULViewConfig config, ULString font_name)
Set default font-family to use for serif fonts (Default = Times New Roman).
void(* ULFailLoadingCallback)(void *user_data, ULView caller, unsigned long long frame_id, bool is_main_frame, ULString url, ULString description, ULString error_domain, int error_code)
Definition CAPI_View.h:477
ULView(* ULCreateChildViewCallback)(void *user_data, ULView caller, ULString opener_url, ULString target_url, bool is_popup, ULIntRect popup_rect)
Definition CAPI_View.h:429
void(* ULDOMReadyCallback)(void *user_data, ULView caller, unsigned long long frame_id, bool is_main_frame, ULString url)
Definition CAPI_View.h:506
const struct OpaqueJSContext * JSContextRef
Definition JSBase.h:43
Definition CAPI_Defines.h:257
Offscreen render target, used when rendering Views via the GPU renderer.
Definition CAPI_Defines.h:273