Ultralight  1.0.0
A fast, lightweight, HTML UI engine for native apps.
ultralight Namespace Reference

This is a set of common JavaScriptCore Helper functions to simplify sample code. More...

Namespaces

 KeyCodes
 Namespace containing all the key-code definitions for KeyboardEvent.
 

Classes

class  App
 Main application class. More...
 
class  AppListener
 Interface for all App-related events. More...
 
class  Bitmap
 Bitmap container with basic blitting and conversion routines. More...
 
class  Buffer
 A fixed-size byte container for passing data around. More...
 
struct  Command
 Command description, handling one of these should result in either a call to GPUDriver::ClearRenderBuffer or GPUDriver::DrawGeometry. More...
 
struct  CommandList
 Command list,. More...
 
struct  Config
 Configurations settings for Ultralight. More...
 
class  FileSystem
 FileSystem interface, used for all file system operations. More...
 
class  FontLoader
 Font Loader interface, used for all font lookup operations. More...
 
class  GPUDriver
 GPUDriver interface, dispatches GPU calls to the native driver. More...
 
struct  GPUState
 GPU state description. More...
 
struct  IndexBuffer
 Vertex index buffer,. More...
 
struct  IntRect
 Integer Rectangle Helper. More...
 
class  JSArray
 JSArray wrapper that automatically manages lifetime and provides convenient access to indices and Array functions. More...
 
class  JSFunction
 JSFunction wrapper that automatically manages lifetime and provides convenient function invocation operators. More...
 
class  JSObject
 JSObject wrapper that automatically manages lifetime and provides convenient access to properties. More...
 
class  JSPropertyValue
 Wrapper for JSObject property value (JSValue subclass). More...
 
class  JSString
 JSString wrapper that automatically manages lifetime and provides helpful conversions. More...
 
class  JSValue
 JSValue wrapper that automatically manages lifetime and provides helpful conversions. More...
 
class  KeyEvent
 A generic keyboard event that can be created from a platform event or synthesized from scratch. More...
 
class  LoadListener
 Interface for Load-related events. More...
 
struct  Matrix
 Affine Matrix helper. More...
 
struct  Matrix4x4
 4x4 Matrix Helper More...
 
class  Monitor
 Monitor class, represents a platform monitor. More...
 
class  MouseEvent
 A generic mouse event. More...
 
class  Overlay
 Web-content overlay. More...
 
class  Platform
 Platform singleton to configure Ultralight and provide user-defined implementations for various platform operations. More...
 
struct  Rect
 Float Rectangle Helper. More...
 
class  Ref
 A non-nullable smart pointer. More...
 
class  RefCounted
 Interface for all ref-counted objects that will be managed using the Ref<> and RefPtr<> smart pointers. More...
 
class  RefPtr
 A nullable smart pointer. More...
 
struct  RenderBuffer
 RenderBuffer description,. More...
 
class  Renderer
 The core of Ultralight. More...
 
struct  RenderTarget
 Rendering details for a View, to be used with your own GPUDriver. More...
 
struct  RoundedRect
 Rounded Rectangle Helper. More...
 
class  ScrollEvent
 A generic scroll event. More...
 
class  String
 UTF-16 String container with conversions for UTF-8 and UTF-32. More...
 
class  String16
 A UTF-16 string container. More...
 
class  String16Vector
 A UTF-16 string vector. More...
 
class  String32
 A UTF-32 string container. More...
 
class  String8
 A UTF-8 string container. More...
 
struct  vec2
 2D Vector Helper More...
 
struct  vec3
 3D Vector Helper More...
 
struct  vec4
 4D Vector Helper More...
 
struct  Vertex_2f_4ub_2f
 Vertex layout for path vertices, useful for synthesizing or modifying vertex data. More...
 
struct  Vertex_2f_4ub_2f_2f_28f
 Vertex layout for quad vertices, useful for synthesizing or modifying vertex data. More...
 
struct  VertexBuffer
 Vertex buffer,. More...
 
class  View
 A View is similar to a tab in a browser– you load web content into it and display it however you want. More...
 
class  ViewListener
 Interface for View-related events. More...
 
class  Window
 Window class, represents a platform window. More...
 
class  WindowListener
 Interface for all Window-related events. More...
 

Typedefs

typedef vec2 Point
 Point is typedef'd to a 2D vector.
 
typedef int FileHandle
 File Handle type used as unique ID for opened files.
 
typedef uint32_t IndexType
 Vertex index type.
 

Enumerations

enum  WindowFlags : uint8_t
 Window creation flags. More...
 
enum  MessageSource
 MessageSource types,. More...
 
enum  MessageLevel
 MessageLevel types,. More...
 
enum  Cursor
 Cursor types,. More...
 
enum  FaceWinding { kFaceWinding_Clockwise, kFaceWinding_CounterClockwise }
 The winding order for front-facing triangles. More...
 
enum  FileSeekOrigin
 The position to seek from in a file,. More...
 
enum  MetadataType
 The type of path,. More...
 

Functions

void AExport SetJSContext (JSContextRef ctx)
 Set the current JSContext. More...
 
JSContextRef AExport GetJSContext ()
 Get the current JSContext.
 
JSObject AExport JSGlobalObject ()
 Get the Global Object for the current JSContext. More...
 
JSValue AExport JSEval (const JSString &str)
 Evaluate a string of JavaScript and return a result.
 
void UExport GetKeyIdentifierFromVirtualKeyCode (int virtual_key_code, String &key_identifier_result)
 Utility function for generating a key identifier string from a virtual key-code. More...
 
Matrix4x4 UExport ConvertAffineTo4x4 (const Matrix &mat)
 Convert affine matrix to a 4x4 matrix.
 
UExport GPUDriverDefaultGPUDriver ()
 The default GPU driver is an OpenGL driver that paints each View to an offscreen bitmap (. More...
 
UExport FontLoaderDefaultFontLoader ()
 The default Font Loader uses the native font loader API for the platform. More...
 
template<typename T >
Ref< T > AdoptRef (T &)
 Helper for wrapping new objects with the Ref smart pointer. More...
 

Variables

const FileHandle invalidFileHandle = (FileHandle)-1
 Handle used to denote an invalid file.
 

Detailed Description

This is a set of common JavaScriptCore Helper functions to simplify sample code.

Enumeration Type Documentation

◆ Cursor

Cursor types,.

See also
ViewListener::OnChangeCursor

Definition at line 53 of file Listener.h.

◆ FaceWinding

The winding order for front-facing triangles.

Note
In most 3D engines, there is the concept that triangles have a a "front" and a "back". All the front-facing triangles (eg, those that are facing the camera) are rendered, and all back-facing triangles are culled (ignored). The winding-order of the triangle's vertices is used to determine which side is front and back. You should tell Ultralight which winding-order your 3D engine uses.
Enumerator
kFaceWinding_Clockwise 

Clockwise Winding (Direct3D, etc.)

kFaceWinding_CounterClockwise 

Counter-Clockwise Winding (OpenGL, etc.)

Definition at line 30 of file Config.h.

◆ FileSeekOrigin

The position to seek from in a file,.

See also
FileSystem::SeekFile

Definition at line 38 of file FileSystem.h.

◆ MessageLevel

MessageLevel types,.

See also
ViewListener::OnAddConsoleMessage

Definition at line 42 of file Listener.h.

◆ MessageSource

MessageSource types,.

See also
ViewListener::OnAddConsoleMessage

Definition at line 25 of file Listener.h.

◆ MetadataType

The type of path,.

See also
FileSystem::GetMetadata

Definition at line 47 of file FileSystem.h.

◆ WindowFlags

enum ultralight::WindowFlags : uint8_t

Window creation flags.

See also
Window::Create

Definition at line 49 of file Window.h.

Function Documentation

◆ AdoptRef()

template<typename T >
Ref< T > ultralight::AdoptRef ( T &  reference)

Helper for wrapping new objects with the Ref smart pointer.

All ref-counted object are created with an initial ref-count of '1'. The AdoptRef() helper returns a Ref<T> without calling AddRef(). This is used for creating new objects, like so:

Ref<Object> ref = AdoptRef(*new ObjectImpl());

Definition at line 269 of file RefPtr.h.

◆ DefaultFontLoader()

UExport FontLoader* ultralight::DefaultFontLoader ( )

The default Font Loader uses the native font loader API for the platform.

Note
Windows and macOS font loading is implemented but Linux is still in progress– currently just loads an embedded Roboto font.

◆ DefaultGPUDriver()

UExport GPUDriver* ultralight::DefaultGPUDriver ( )

The default GPU driver is an OpenGL driver that paints each View to an offscreen bitmap (.

See also
View::bitmap). This is lazily-initialized.

◆ GetKeyIdentifierFromVirtualKeyCode()

void UExport ultralight::GetKeyIdentifierFromVirtualKeyCode ( int  virtual_key_code,
String key_identifier_result 
)

Utility function for generating a key identifier string from a virtual key-code.

Parameters
virtual_key_codeThe virtual key-code to generate the key identifier from.
key_identifier_resultThe string to store the result in.

◆ JSGlobalObject()

JSObject AExport ultralight::JSGlobalObject ( )

Get the Global Object for the current JSContext.

In JavaScript, this would be equivalent to the "window" object.

◆ SetJSContext()

void AExport ultralight::SetJSContext ( JSContextRef  ctx)

Set the current JSContext.

NOTE: You MUST set this before using most of the classes/functions below.

  The only things you can create without a JSContext are JSString's and
  the empty JSFunction constructor.