1.14.0.5
Hummingbird
A modern user interface library for games
cohtml Namespace Reference

Contains almost all Coherent namespaces, classes and functions. More...

Namespaces

 EventAction
 Holds the possible actions when deciding if to handle an input event.
 
 InputEventPhase
 Holds information for input event PhaseType.
 
 MemTags
 All allocations in Hummingbird are tagged per-subsystem.
 
 TextInputControlType
 Enum containing the text input types.
 
 VMemFlags
 Enum for memory flags: ProtectionChange, Reserve, Commit, Decommit and Release. The only flags that can be combined are Reserve and Commit, all other flags are to be used exclusively and can't be combined with others.
 
 VMemProtection
 Enum for memory access levels: None (forbidden), Read, Write and Execute. Read, Write and Execute can be combined, the only exclusive flag that can't be combined with others is None(forbidden)
 

Classes

class  ArgumentsBinder
 Class for communicating between EventHandler and the scripting. More...
 
struct  ArrayInfo
 Represents a array of a type exposed to the scripting. More...
 
class  Binder
 Provides binding between C++ and the UI. More...
 
struct  BitmapFontDescription
 Struct representing bitmap font data. More...
 
struct  CachedResourcesWatermarks
 Watermarks used for the image cache management. More...
 
struct  DebugDump
 Debugging class used for dumping the whole structure of the page DOM. More...
 
struct  EventModifiersState
 The state of the key modifiers when an event happens. More...
 
struct  EventMouseModifiersState
 The state of the mouse modifiers when an event happens. More...
 
struct  FrameCapture
 Debugging class holding debug frame captured data and size. Passed to FrameCaptureCallback on View::BeginCaptureDebugFrame and View::CaptureSingleDebugFrame methods. More...
 
class  FunctorTraits
 Provides information about function objects. More...
 
struct  GamepadPoseState
 Represents the pose of a motion tracking controller. More...
 
struct  GamepadState
 Represents the entire state of a single gamepad. More...
 
struct  GamepadStateExtended
 Extended representation of the gamepad state, including information for controllers that support motion tracking. More...
 
struct  GestureEventData
 A gesture event. More...
 
class  IAllocator
 Allocator interface used by Hummingbird for all memory allocations. The user has to provide an object that imlements this interface. Memory allocations in Hummingbird are tagged, so the user knows the relative distribution of memory among subsystems. More...
 
class  IAsyncResourceHandler
 Class that will handle all asynchronous resource requests. More...
 
class  IAsyncResourceRequest
 Encapsulates an asynchrounous resource request. More...
 
class  IAsyncResourceResponse
 Response that the application should use when the resource has been loaded You can keep a reference to this object as long as needed and call Finish afterwards. More...
 
class  IAsyncResourceStreamResponse
 Response that the application should use when the resource stream has been created You can keep a reference to this object as long as needed and call Finish afterwards. More...
 
class  IDataStorageHandler
 Class that will handle data storage requests. More...
 
class  IDataStorageRequest
 Encapsulates a data storage request. More...
 
class  IDataStorageResponse
 Response that the application should use when the data storage has been read. More...
 
class  IFileSystemReader
 Class that allows Hummingbird to interface with the local file system. It allows enumerating floders and opening streams to local resources. More...
 
class  ILocalizationManager
 Takes care of translating text between different locales. More...
 
class  INodeProxy
 Represents a DOM element in the View - i.e. a DIV, the BODY etc. More...
 
class  ISyncStreamReader
 Class for synchronously reading local resources. More...
 
class  IViewListener
 Interface that allows to listen for various events in the View. More...
 
struct  KeyEventData
 A keyboard event. More...
 
class  Library
 This class encapsulates the global Hummingbird library. More...
 
struct  LibraryParams
 Initialization parameters of the Hummingbird library. More...
 
struct  ObjectInfo
 Represents a object of a type exposed to the scripting. More...
 
struct  PlatformSpecificParams
 Platform-specific initialization parameters of the Hummingbird library. More...
 
class  Property
 Represents a property of a type exposed to the scripting. More...
 
struct  ScreenInfo
 Holds the information about current screen. More...
 
class  System
 A System owns multiple Views. These Views share resources among them. It is usually enough to have just one System per application run. More...
 
class  SystemCacheStats
 Statistics of the current state of the internal caches of the system NB: Remember to Release the object when done with it to avoid memory leaks. More...
 
class  SystemRenderer
 The SystemRenderer lives on the render thread and holds all resources shared between mutliple Views belonging to the same System (font atlases, texture caches etc.) More...
 
struct  SystemSettings
 Settings for a System. More...
 
struct  TouchEventData
 A touch event. More...
 
class  TypeDescription
 Helper class for describing types. More...
 
class  View
 The View represents a UI page with its DOM, styles and JavaScript context. Think of the View as a whole UI or UI element. The View for instance could be the whole HUD of a game. More...
 
class  ViewRenderer
 The ViewRenderer is in charge of drawing a View in a user-supplied texture. More...
 
struct  ViewSettings
 Settings used when initializing a View. More...
 

Typedefs

typedef void(* OnWorkAvailableFunc) (void *userData, WorkType type, TaskFamilyId family)
 Called when a new task is available and should be executed later on.
 
typedef void(* FrameCaptureCallback) (void *userData, FrameCapture *capture)
 Function signature of callback used in View::BeginCaptureDebugFrame and View::CaptureSingleDebugFrame. More...
 

Enumerations

enum  WorkExecutionMode { , WEM_UntilQuit }
 The enumeration tells the Library how much work to execute in the invocation Please refer to the asynchronous work documentation for details. More...
 
enum  GamepadHand { GH_None = 0, GH_Left, GH_Right }
 Enumeration that represent binding of a gamepad to a specific hand. Used for motion tracking controllers which are used in pairs, one controller per hand. More...
 
enum  ValueType
 The primitive types coming from JS.
 

Functions

Event handlers

Creating event handlers from C++ functors

template<typename Functor >
IEventHandler * MakeHandler (Functor functor)
 Create event handler from generic C++ functor. More...
 
template<typename Method >
IEventHandler * MakeHandler (void *object, Method method)
 Create event handler from C++ method. More...
 

Detailed Description

Contains almost all Coherent namespaces, classes and functions.

Typedef Documentation

◆ FrameCaptureCallback

typedef void(* cohtml::FrameCaptureCallback) (void *userData, FrameCapture *capture)

Function signature of callback used in View::BeginCaptureDebugFrame and View::CaptureSingleDebugFrame.

Parameters
userDataThe user data passed to View::BeginCaptureDebugFrame and View::CaptureSingleDebugFrame calls
captureObject containing pointer to the data and the size. Must call Release() when finished using it.

Enumeration Type Documentation

◆ GamepadHand

Enumeration that represent binding of a gamepad to a specific hand. Used for motion tracking controllers which are used in pairs, one controller per hand.

Enumerator
GH_None 

Gamepad either does not support distinguishing hands, or cannot be determined.

GH_Left 

Gamepad is bound to the left hand.

GH_Right 

Gamepad is bound to the right hand.

◆ WorkExecutionMode

The enumeration tells the Library how much work to execute in the invocation Please refer to the asynchronous work documentation for details.

Enumerator
WEM_UntilQuit 

Execute until all outstanding tasks have complete.

Execute until cohtml is un-initialized. Use this only if you have a dedicated thread you'll use only for the specified cohtml work.

Function Documentation

◆ MakeHandler() [1/2]

template<typename Functor >
IEventHandler* cohtml::MakeHandler ( Functor  functor)

Create event handler from generic C++ functor.

Parameters
functorgeneric C++ functor, i.e. pointer to static function or object with operator()
Returns
IEventHandler that wraps the functor

◆ MakeHandler() [2/2]

template<typename Method >
IEventHandler* cohtml::MakeHandler ( void *  object,
Method  method 
)

Create event handler from C++ method.

Parameters
objectpointer to the instance with which the method will be invoked
methodthe C++ method to be invoked
Returns
IEventHandler that wraps the method
Warning
the object pointer is stored until cohtml::ViewListener::OnBindingsReleased is called. Therefore the pointer must remain valid until then.