cohtml::SystemSettings

Settings for a System.

#include <System.h>

Public Classes

Name
structFallBackFormats

Public Functions

Name
SystemSettings()

Public Attributes

Name
struct cohtml::SystemSettings::FallBackFormatsFormats
IAsyncResourceHandler *ResourceHandler
Resource handler for loading assets.
IDataStorageHandler *DataStorageHandler
Data storage handler used for saving and loading persistent data.
ILocalizationManager *LocalizationManagerInstance
Optional localization manager. This object MUST outlive the System. Any HTML element created with the data-l10n-id attribute will get its text content replaced by the value returned from this object’s ILocalizationManager::Translate method.
ITextTransformationManager *TextTransformationManager
Optional text transformation manager used to support modifying text in a locale-aware way. CSS properties like text-transform require this interface to be set and implemented to work.
IInternationalizationManager *InternationalizationManager
Optional internationalization manager used for creating text break iterators. Eastern languages like Chinese, Japanese and Thai won’t wrap properly without this implemented.
IFileSystemWriter *FileSystemWriter
Optional file system handler that allows writing to a file on the local filesystem.
CachedResourcesWatermarksCachedImagesSettings
Controls the low and high watermarks used when deciding when to prune the image cache.
CachedResourcesWatermarksCachedSVGsSettings
OnUserImageDroppedFuncOnUserImageDropped
Called in cases where the backend won’t receive a delete texture call for the user image To be used to decrement reference counters for user image resources.
void *UserData
Passed to the OnUserImageDropped callback.
intDebuggerPort
Sets the port where the Debugger can connect to inspect the active Views. Set it to <= 0 to disable debugging.
boolEnableDebugger
Enable/Disable the Debugger during the lifetime of the program.
boolAsynchronousResourceRequestCalls
Enabled by default. When enabled, each resource request will post a job in the work queue. The IAsyncResourceHandler callbacks will be invoked on a worker thread. This asynchronous behavior allows the client to easily implement resource reading functionality without having to deal with multithreading and yet achieving non-blocking resource reading. When disabled, the IAsyncResourceHandler callbacks will be invoked on the main thread, and its a client’s responsibility to schedule any potential blocking operations to achieve asynchronous resource loading and avoid stalling the main thread.
const char *GenericFontFamilyNameFont
This options sets the family name of the font that will be used when a generic font family is encountered. Generic font families are “serif”, “sans-serif”, “monospace”, etc. When a font name for the generic family is not specified Cohtml will use the default family name specified by LibraryParams::DefaultStyleFontFamily.
Fonts::LastResortFontModeLastResortFontMode
Cohtml uses an embedded font as a last resort font fallback. This option controls how the last resort font is visualized. By default Cohtml will render ASCII printable characters from the last resort font when no other suitable font is found and a square symbol for unresolved unicode characters. The default option is suitable for visualizing simple texts without loading any fonts. FF_Squares will render squares for all characters for which a suitable font was not found which can aid developers to recognize when their font fallback setup isn’t working properly. FF_None will disable the last resort font visualization.

Public Functions Documentation

function SystemSettings

inline SystemSettings()

Public Attributes Documentation

variable Formats

struct cohtml::SystemSettings::FallBackFormats Formats;

variable ResourceHandler

IAsyncResourceHandler * ResourceHandler;

Resource handler for loading assets.

variable DataStorageHandler

IDataStorageHandler * DataStorageHandler;

Data storage handler used for saving and loading persistent data.

variable LocalizationManagerInstance

ILocalizationManager * LocalizationManagerInstance;

Optional localization manager. This object MUST outlive the System. Any HTML element created with the data-l10n-id attribute will get its text content replaced by the value returned from this object’s ILocalizationManager::Translate method.

variable TextTransformationManager

ITextTransformationManager * TextTransformationManager;

Optional text transformation manager used to support modifying text in a locale-aware way. CSS properties like text-transform require this interface to be set and implemented to work.

variable InternationalizationManager

IInternationalizationManager * InternationalizationManager;

Optional internationalization manager used for creating text break iterators. Eastern languages like Chinese, Japanese and Thai won’t wrap properly without this implemented.

variable FileSystemWriter

IFileSystemWriter * FileSystemWriter;

Optional file system handler that allows writing to a file on the local filesystem.

variable CachedImagesSettings

CachedResourcesWatermarks CachedImagesSettings;

Controls the low and high watermarks used when deciding when to prune the image cache.

variable CachedSVGsSettings

CachedResourcesWatermarks CachedSVGsSettings;

variable OnUserImageDropped

OnUserImageDroppedFunc OnUserImageDropped;

Called in cases where the backend won’t receive a delete texture call for the user image To be used to decrement reference counters for user image resources.

variable UserData

void * UserData;

Passed to the OnUserImageDropped callback.

variable DebuggerPort

int DebuggerPort;

Sets the port where the Debugger can connect to inspect the active Views. Set it to <= 0 to disable debugging.

variable EnableDebugger

bool EnableDebugger;

Enable/Disable the Debugger during the lifetime of the program.

Note: If enabled it may influence application performance, make sure it is not enabled during benchmarking.

variable AsynchronousResourceRequestCalls

bool AsynchronousResourceRequestCalls;

Enabled by default. When enabled, each resource request will post a job in the work queue. The IAsyncResourceHandler callbacks will be invoked on a worker thread. This asynchronous behavior allows the client to easily implement resource reading functionality without having to deal with multithreading and yet achieving non-blocking resource reading. When disabled, the IAsyncResourceHandler callbacks will be invoked on the main thread, and its a client’s responsibility to schedule any potential blocking operations to achieve asynchronous resource loading and avoid stalling the main thread.

Note: To make efficient use of the abort resource notifications, this option should be disabled.

variable GenericFontFamilyNameFont

const char * GenericFontFamilyNameFont;

This options sets the family name of the font that will be used when a generic font family is encountered. Generic font families are “serif”, “sans-serif”, “monospace”, etc. When a font name for the generic family is not specified Cohtml will use the default family name specified by LibraryParams::DefaultStyleFontFamily.

variable LastResortFontMode

Fonts::LastResortFontMode LastResortFontMode;

Cohtml uses an embedded font as a last resort font fallback. This option controls how the last resort font is visualized. By default Cohtml will render ASCII printable characters from the last resort font when no other suitable font is found and a square symbol for unresolved unicode characters. The default option is suitable for visualizing simple texts without loading any fonts. FF_Squares will render squares for all characters for which a suitable font was not found which can aid developers to recognize when their font fallback setup isn’t working properly. FF_None will disable the last resort font visualization.