Coherent GT
A modern user interface library for games
Coherent::UIGT::SystemSettings Struct Reference

Settings for the UISystem. More...

#include <Coherent/Coherent/UIGT/UISystem.h>

+ Inheritance diagram for Coherent::UIGT::SystemSettings:

Public Attributes

class FileManipulatorFileManipulatorInstance
 Sets which FileManipulator is to be used. If it's nullptr a default FileManipulator will be used. More...
- Public Attributes inherited from Coherent::UIGT::SystemSettingsWithExternalRenderingLibrary
int DebuggerPort
 Sets the port where the Debugger can connect to inspect the active Views. Set it to <= 0 to disable debugging.
const char * InspectorResourcesFolder
 The folder where the Inspector JS resources reside for debugging Can be an absolute path or a path relative to the working folder of the application.
 Eventual proxy data. Set to nullptr if no proxy server is available.
 Eventual disk cache settings. If set - the disk cache will be used for data loaded from the network.
MemoryManagementGT::IAllocator * MemoryAllocator
 Optional memory allocator. All allocations will go through this object. If no memory allocator is specified, the library will use malloc/free/realloc.
bool EnableInternalAllocator
 The internal memory allocator efficiently reuses already allocated memory, which enhances performance at the cost of some memory overhead Enabled by default. More...
 Optional localization manager. This object MUST outlive the UISystem. Any HTML element created with the data-l10n-id attribute will get its text content replaced by the value returned from this object's LocalizationManager::Translate method.
bool EnableWebSecurity
 Enables cross-origin checks. When enabled cross-origin requests will not work for the coui protocol and require server support for http/https.
bool AllowPerformanceWarnings
 If the option is set to 'false', there will be no performance warnings whatsoever, even if a certain View requests performance warnings. If it is set to false, the decision if to emit warnings will depend upon the value set in the ViewInfo::EmitPerformanceWarnings field. More...
bool RunAsynchronous
 Starts the system in an asynchronous mode which can greatly enhance performance by running Coherent GT in a separate thread. More...
bool ControlTime
 Specifies whether a user callback is executed whenever the current timestamp is required by the UI system. The callback should return the time in seconds since an arbitrary point in time. The returned time is required to be monotonically increasing - in case it isn't, the last known timestamp is used. More...
bool EnableVerboseNetworkLogging
 Specifies whether VerboseNetworkLogging should be used and as a result the produced log will contain verbose networking information about operations on every socket handle that is created with that option turned on. Verbose Network logging contains useful information that can help debugging of networking issues. More...
bool IgnoreSSLCertificateErrors
 Specifies whether SSL certificate errors are ignored. When the option is set to false, two types of checks are performed: More...
const unsigned char * CertificateAuthorities
 The data of a certificate authorities bundle in PEM format. This allows for specifying custom certificate authorities for verifying the peer's certificate when using a SSL connection. More...
unsigned int CertificateAuthoritiesLength
 The length in bytes of the data pointed to by CertificateAuthoritiesBytes. More...
float AnimationUpdateDefer
 Sets the minimal frame time between animation updates in seconds. Decreasing the number will update animations more often but will consume more CPU. A good figure is around half the frame-rate of the application.
const char * CookiesResource
 Sets the resource file that will be used for storing cookies. Can be a relative or absolute path to a file. The folder path where the file should be output must be valid. If not set, the default "cookies.dat" name will be used. More...
const char * LocalStorageFolder
 Sets the local storage folder. If not set, data is persisted in-memory. More...
bool LoadSystemFonts
 Enable/disable caching of all font files info from the system folder. Enabled by default.
int TestDriverPort
 Sets the port where the TestDriver can connect to automate the active Views. Set it to <= 0 to disable TestDriver. More...
const char * TestDriverResourcesFolder
 Sets the folder that contains the "test_driver" folder with resources.
const char * SharedLibraryLocation
 Sets where to look for the other shared libraries (CoherentGTCore, CoherentGTJS, etc.) Currently only usable on PS4. More...
FeatureList EnabledFeatures
 Enable/disable certain system features.
ThreadWrapperFunction ThreadWrapper
 Sets a wrapper which will be called instead of a thread's function. If it is a nullptr it will be ignored. In the wrapper function at some point you should call the received function with the received argument, i.e. you should call the thread's function. Mainly used in order to do some setup before/after the calling of the thread's function, e.g. to guard it in some "try-catch" block. More...
unsigned JSCHeapSize
 Sets the JSC's recommended heap size (in bytes). Be very careful with that option and customize it for your UI if the default value is not suitable. More...
void * DeveloperOptions
 Reserved property for internal usage. Do not use it.
- Public Attributes inherited from renoir::CommonRenderingLibraryParams
bool AllowMultipleRenderingThreads
 Allows usage of Rendering Library calls from different threads. If not enabled, using rendering methods from different threads produces an error message. More...
bool SetRenderingResourcesDebugNames
 Will set debug names on rendering resources. The actual use of these names depends on the rendering backend implementation. Use this for debugging purposes only as it incurs a slight performance penalty.
float PathTessellationThresholdRatio
 Sets the threshold ratio, which is used for determining whether to reuse old tessellated paths or tessellate new ones when changing the display size of paths (e.g. SVGs). If the threshold ratio is lower, then more paths will be tessellated, which will lead to a higher path visual quality, but also to increased memory usage. On the other hand, setting the threshold ratio to a higher value will result in reuse of more tessellated paths, which may cause lower path visual quality, because old tessellated paths are upscaled or downscaled in order to be reused. However, higher threshold value will lead to a decrease in the memory usage. More...

Detailed Description

Settings for the UISystem.

Member Data Documentation

◆ FileManipulatorInstance

class FileManipulator* Coherent::UIGT::SystemSettings::FileManipulatorInstance

Sets which FileManipulator is to be used. If it's nullptr a default FileManipulator will be used.

The file manipulator instance is used when loading fonts. Implementing your custom file manipulator allows you to control font streaming.