cohtml
Utility macros for enabling bitwise flag operations on enum class types. These macros define the standard bitwise operators (|, &, ^, ~ and their assignment variants) so enum values can be combined and tested as flags. More…
Namespaces
| Name |
|---|
| cohtml::cohtml |
| cohtml::CursorTypes |
| cohtml::EnumFlags |
| cohtml::EventAction Holds the possible actions when deciding if to handle an input event. |
| cohtml::Fonts |
| cohtml::i18n |
| cohtml::ImagesListExtract Enum containing the options we want when getting the list of loaded images. |
| cohtml::InputEventPhase |
| cohtml::InspectorNetworkTabSettings Settings for inspector network tab. |
| cohtml::Logging |
| cohtml::MemTags |
| cohtml::Profile |
| cohtml::TextInput |
| cohtml::TextInputControlType |
| cohtml::VMemFlags |
| cohtml::VMemProtection |
| cohtml::websocket |
Classes
Types
| Name | |
|---|---|
| enum class unsigned int | CompatibilityFlags { None = 0, VCF_SynchronousStyleSolving = 1 « 0, VCF_DisableAspectRatio = 1 « 1, VCF_StripWhitespaceNodes = 1 « 2, VCF_RevertRematchingBehavior_Partial = 1 « 3, VCF_RevertRematchingBehavior_All = 1 « 4, VCF_DisableFlexBasisUnits = 1 « 5, VCF_IncludeStyleValueInMutationObserver = 1 « 6, LCF_DoNotSnapToIntegerCoordsBeforeTransform = 1 « 7, LCF_DisableFontDataPreloading = 1 « 8, LCF_DisableCSSSharing = 1 « 9} Compatibility flags that can be used to enable legacy behaviors. Split into 2 groups, depending on what API the flag should be passed to: |
| enum | WorkType { WT_Resources, WT_Layout} |
| enum | WorkExecutionMode { WEM_UntilQueueEmpty, WEM_UntilQuit} The enumeration tells the Library how much work to execute in the invocation Please refer to the asynchronous work documentation for details. |
| 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. |
| enum class unsigned char | HTMLTag { ENTRY, COUNT} |
| enum | RenderingTasksAvailableType { RTA_ViewReadyForRendering, RTA_RenderingSubSystemTask} |
| enum class | LayoutAlgorithm { CompatibilityMode, WebStandardMode} |
| enum | InterceptRequestStatus { Allow, Restrict} |
| enum | InternalCaches { ICACHE_Shadows = 1 « 0, ICACHE_Paths = 1 « 1, ICACHE_Textures = 1 « 2, ICACHE_ScratchLayers = 1 « 3, ICACHE_ScratchTextures = 1 « 4, ICACHE_GfxCommandBuffers = 1 « 5, ICACHE_GfxCommandProcessors = 1 « 6, ICACHE_SVGSurfaces = 1 « 7, ICACHE_BackdropFilterSurfaces = 1 « 8, ICACHE_DepthStencilTextures = 1 « 9, ICACHE_GPUResourcesPool = 1 « 10} |
| enum | CaptureMode { CM_PreserveAll, CM_PreserveAlpha, CM_ObfuscateAll} When serializing rendering commands, part of the image data in a document is saved as well. With these capture modes, you can force the capturer to obfuscate the pixel data and with that no images will be leaked through the serialized capture. |
| enum | RegisterModelStatus { RMS_Success, RMS_ModelDataAlreadyRegistered, RMS_ModelNameAlreadyRegistered, RMS_InvalidModel, RMS_DocumentNotCreated} Status of a call to CreateModel() and RegisterModel() |
| enum | UpdateModelStatus { UMS_Success, UMS_ModelNotRegistered, UMS_DocumentNotCreated} Status of a call to UpdateWholeModel(), UnregisterModel() |
| enum | SynchronizeModelsStatus { SMS_Success, SMS_DocumentNotCreated, SMS_DocumentDestruction, SMS_SynchronizationInProgress} Status of a call to SynchronizeModels() |
| enum | ValueType { VT_Null, VT_Undefined, VT_Boolean, VT_Number, VT_String, VT_Object, VT_Array, VT_Count} The primitive types coming from JS. |
| enum | ElementType { ET_Boolean, ET_Int8, ET_UInt8, ET_Int16, ET_UInt16, ET_Int32, ET_UInt32, ET_Int64, ET_UInt64, ET_Float, ET_Double, ET_String, ET_Color, ET_Array, ET_Map, ET_Pair, ET_UserType, ET_PolymorphUserType} Represents the underlying data category of a property, array element, map value, or pair member exposed to the scripting system. |
| typedef double | TimePoint |
| typedef int | TaskFamilyId |
| typedef void(*)(void *userData, WorkType type, TaskFamilyId family) | OnWorkAvailableFunc Called when a new task is available and should be executed later on. |
| typedef void(*)(void *userData, void *texturePtr) | OnUserImageDroppedFunc |
| typedef void * | BoundEventHandle |
| typedef void(*)(void *userData, unsigned viewId, unsigned frameId, RenderingTasksAvailableType type) | OnRenderingTasksAvailableFunc |
| typedef double(*)(void *userdata, unsigned viewId) | OnMonotonicallyIncreasingTimeRequestFunc |
| typedef void(*)(void *userData, FrameCapture *capture) | FrameCaptureCallback Function signature of callback used in View::BeginCaptureDebugFrame and View::CaptureSingleDebugFrame. |
| typedef void(*)(Binder *, void *, size_t) | Reader |
| typedef size_t(*)(void *) | ArrayLengthGetter |
| typedef void ()(void *, size_t) | ArrayElementGetter |
| typedef void ()(void *userData, const char *name) | MapElementGetter |
| typedef size_t(*)(void *userData) | LengthGetter |
| typedef void ()(void *userData, size_t index) | ElementGetter |
| typedef void(*)(Binder *, void *, size_t) | ArrayElementBinder |
| typedef BoolConstant< true > | TrueType |
| typedef BoolConstant< false > | FalseType |
| template <typename T > using typename RemoveConstRef< T >::Type | RemoveConstRef_t |
| template <typename T > using typename UnwrapPointerType< typename RemoveConstRef< T >::Type, PointerTrait< T >::Value >::Type | DecayedType |
| typedef void ()(void *, size_t) | NativeReader |
| typedef size_t(*)(void *) | VectorLengthFunc |
Functions
| Name | |
|---|---|
| template <typename Functor > IEventHandler * | MakeHandler(Functor functor) Create event handler from generic C++ functor. |
| template <typename Method > IEventHandler * | MakeHandler(void * object, Method method) Create event handler from C++ method. |
| COHTML_DEFINE_ENUM_FLAG_OPERATORS(CompatibilityFlags ) | |
| void | AdaptRenderingAllocatorAndLoggerFromCohtml(IAllocator * allocator, Logging::ILogHandler * logger, renoir::IAllocator ** outRenderingAllocator, renoir::Logging::ILogHandler ** outRenderingLogger) Function to adapt Cohtml based IAllocator and ILogHandler to the Rendering library variants It will use the allocator instance to allocate the adapters. You can call this to use Cohtml instances when using an externally initialized rendering library. |
| void | DestroyAdaptedRenderingAllocatorAndLogger(IAllocator * allocator, renoir::IAllocator * renderingAllocator, renoir::Logging::ILogHandler * renderingLogger) Deallocates the adapters created from AdaptRenderingAllocatorAndLoggerFromCohtml. |
| bool | IsTagSelfClosing(HTMLTag tag) |
| bool | CanTagContainHTML(HTMLTag tag) |
| bool | CanSVGTagContainText(HTMLTag tag) |
| bool | CanTagBeSVG(HTMLTag tag) |
| template <typename T > void COHERENT_STDCALL | CoherentCreateModelBindPointer(Binder * binder, T * model) |
| template <typename ArrayType ,size_t Size> size_t | CoherentArrayLength(void * arrayPtr) |
| template <typename ArrayType > void | CoherentArrayElementReader(Binder * binder, void * data, size_t position) |
| template <typename ArrayType > void | CoherentArrayElementBinder(Binder * binder, void * arr, size_t index) |
| template <typename T > EnableIf< PointerTrait< T >::Value, void * >::Type | CoherentArrayElementGetterImpl(T & object) |
| template <typename T > EnableIf<!PointerTrait< T >::Value &&!IsCString< T >::Value, void * >::Type | CoherentArrayElementGetterImpl(T & object) |
| template <typename T > EnableIf<!PointerTrait< T >::Value &&IsCString< T >::Value, void * >::Type | CoherentArrayElementGetterImpl(T & object) |
| template <typename ArrayType > void * | CoherentArrayElementGetter(void * arr, size_t index) |
| template <typename ArrayType ,size_t ArraySize> EnableIf<!IsChar< ArrayType >::Value | |
| template <typename ArrayType ,size_t ArraySize> EnableIf< IsChar< ArrayType >::Value &&!IsSame< ArrayType, unsigned char >::Value >::Type | CoherentBindInternal(Binder * binder, ArrayType array[ArraySize]) |
| template <typename ArrayType ,size_t ArraySize> EnableIf<!IsChar< ArrayType >::Value | |
| template <typename ArrayType ,size_t ArraySize> EnableIf< IsChar< ArrayType >::Value &&!IsSame< ArrayType, unsigned char >::Value >::Type | CoherentReadInternal(Binder * binder, ArrayType array[ArraySize]) |
| const char * | ValueTypeToString(ValueType type) |
| void | CoherentBindInternal(Binder * binder, bool value) |
| void | CoherentBindInternal(Binder * binder, signed short value) |
| void | CoherentBindInternal(Binder * binder, unsigned short value) |
| void | CoherentBindInternal(Binder * binder, signed int value) |
| void | CoherentBindInternal(Binder * binder, unsigned int value) |
| void | CoherentBindInternal(Binder * binder, signed long long value) |
| void | CoherentBindInternal(Binder * binder, unsigned long long value) |
| void | CoherentBindInternal(Binder * binder, signed long value) |
| void | CoherentBindInternal(Binder * binder, unsigned long value) |
| void | CoherentBindInternal(Binder * binder, char value) |
| void | CoherentBindInternal(Binder * binder, signed char value) |
| void | CoherentBindInternal(Binder * binder, unsigned char value) |
| void | CoherentBindInternal(Binder * binder, float value) |
| void | CoherentBindInternal(Binder * binder, double value) |
| void | CoherentBindInternal(Binder * binder, const char * value) |
| void | CoherentBindInternal(Binder * binder, const wchar_t * value) |
| void | CoherentBindInternal(Binder * binder, const char16_t * value) |
| void | CoherentBindInternal(Binder * binder, const char32_t * value) |
| void | CoherentReadInternal(Binder * binder, signed short & value) |
| void | CoherentReadInternal(Binder * binder, unsigned short & value) |
| void | CoherentReadInternal(Binder * binder, signed int & value) |
| void | CoherentReadInternal(Binder * binder, unsigned int & value) |
| void | CoherentReadInternal(Binder * binder, signed long long & value) |
| void | CoherentReadInternal(Binder * binder, unsigned long long & value) |
| void | CoherentReadInternal(Binder * binder, signed long & value) |
| void | CoherentReadInternal(Binder * binder, unsigned long & value) |
| void | CoherentReadInternal(Binder * binder, bool & value) |
| void | CoherentReadInternal(Binder * binder, char & value) |
| void | CoherentReadInternal(Binder * binder, signed char & value) |
| void | CoherentReadInternal(Binder * binder, unsigned char & value) |
| void | CoherentReadInternal(Binder * binder, float & value) |
| void | CoherentReadInternal(Binder * binder, double & value) |
| template <typename T > EnableIf< cohtml::TypeToElementType< T >::value==ElementType::ET_UserType, void >::Type | CoherentBindInternalPointerHelper(Binder * binder, T * object) |
| template <typename T > EnableIf< cohtml::TypeToElementType< T >::value !=ElementType::ET_UserType, void >::Type | CoherentBindInternalPointerHelper(Binder * binder, T * object) |
| template <typename T > EnableIf< PointerTrait< T >::Value, void >::Type | CoherentBindInternalPointer(Binder * binder, T & object) |
| template <typename T > EnableIf<!PointerTrait< T >::Value &&!IsCString< T >::Value, void >::Type | CoherentBindInternalPointer(Binder * binder, T & object) |
| template <typename T > EnableIf<!PointerTrait< T * >::Value &&IsCString< T * >::Value, void >::Type | CoherentBindInternalPointer(Binder * binder, T *& object) |
| template <typename T > EnableIf< PointerTrait< T >::Value, void >::Type | CoherentReadInternalUserType(Binder * binder, T & object) |
| template <typename T > EnableIf<!PointerTrait< T >::Value &&IsCString< T >::Value, void >::Type | CoherentReadInternalUserType(Binder * binder, T & object) |
| template <typename T > EnableIf<!PointerTrait< T >::Value &&!IsCString< T >::Value, void >::Type | CoherentReadInternalUserType(Binder * binder, T & object) |
| template <typename T > EnableIf< IsDefaultBindEnabled< T >::Value >::Type | CoherentBindInternal(Binder * binder, T & object) |
| template <typename T > EnableIf< IsDefaultBindEnabled< T >::Value >::Type | CoherentBindInternal(Binder * binder, const T & object) |
| template <typename T > EnableIf< IsDefaultBindEnabled< T >::Value >::Type | CoherentReadInternal(Binder * binder, T & object) |
| template <typename T ,typename A > void | CoherentBindKeyValueProperty(Binder * binder, T && key, A && value) |
| template <typename T ,typename A > void | CoherentBindKeyValueProperty(Binder * binder, T && keyProperty, void * key, A && valueProperty, void * value) |
| template <typename T > ByRefHolder< T > | ByRef(T & ref) |
| template <typename T > void | CoherentBindInternal(Binder * binder, ByRefHolder< T > & holder) |
| template <typename T > void | CoherentBindInternal(Binder * binder, const ByRefHolder< T > & holder) |
| void | CoherentBindInternal(Binder * binder, renoir::Color & value) |
| void | CoherentBindInternal(Binder * binder, const renoir::Color & value) |
| void | CoherentReadInternal(Binder * binder, renoir::Color & value) |
| template <typename Key ,typename Value ,typename Comparator ,typename Allocator > void | CoherentBindInternal(Binder * binder, std::map< Key, Value, Comparator, Allocator > & value) |
| template <typename Key ,typename Value ,typename Comparator ,typename Allocator > void | CoherentBindInternal(Binder * binder, const std::map< Key, Value, Comparator, Allocator > & value) |
| template <typename Key ,typename Value ,typename Comparator ,typename Allocator > void | CoherentReadInternal(Binder * binder, std::map< Key, Value, Comparator, Allocator > & value) |
| template <typename Key ,typename Value ,typename Comparator ,typename Allocator > bool | GetMapValueInvoke(Binder * binder, MapInfo * mapInfo, std::map< Key, Value, Comparator, Allocator > * pMap) |
| template <typename T > void | CoherentReadMapKey(Binder * binder, T & value) |
| template <typename T > EnableIf<!IsMap< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type | GetMapValueInvoke(Binder * binder, void * object, MapInfo * mapInfo, const TypedProperty< T &> * prop) |
| template <typename T > EnableIf< IsMap< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type | GetMapValueInvoke(Binder * binder, void * object, MapInfo * mapInfo, const TypedProperty< T &> * prop) |
| template <typename T > bool | GetMapValueInvoke(Binder * binder, MapInfo * mapInfo, T notMap) |
| template <typename MapType ,typename MapKeyType ,typename MapValueType > EnableIf<!cohtml::PointerTrait< MapValueType >::Value, void * >::Type | CoherentMapNativeElementReader(void * data, char const * name) |
| template <typename MapType ,typename MapKeyType ,typename MapValueType > EnableIf< cohtml::PointerTrait< MapValueType >::Value, void * >::Type | CoherentMapNativeElementReader(void * data, char const * name) |
| template <typename T1 ,typename T2 > void | CoherentBindInternal(Binder * binder, std::pair< T1, T2 > & value) |
| template <typename T1 ,typename T2 > void | CoherentBindInternal(Binder * binder, const std::pair< T1, T2 > & value) |
| template <typename T1 ,typename T2 > void | CoherentReadInternal(Binder * binder, std::pair< T1, T2 > & value) |
| template <typename T > EnableIf<!IsPair< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type | GetPairValueInvoke(Binder * binder, void * object, PairInfo * pairInfo, const TypedProperty< T &> * prop) |
| template <typename T > bool | GetPairValueInvoke(Binder * binder, PairInfo * pairInfo, T value) |
| template <typename T1 ,typename T2 > bool | GetPairValueInvoke(Binder * binder, PairInfo * pairInfo, std::pair< T1, T2 > * pPair) |
| template <typename T > EnableIf< IsPair< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type | GetPairValueInvoke(Binder * binder, void * object, PairInfo * arrayInfo, const TypedProperty< T &> * prop) |
| template <typename ArrayType ,size_t ArraySize> EnableIf<(!IsChar< ArrayType >::Value | |
| template <typename ArrayType ,size_t ArraySize> EnableIf<(!IsChar< ArrayType >::Value | |
| template <typename ValueType > bool | ExtractRawArray(Binder * , const ValueType & , ArrayInfo * ) |
| template <typename T > EnableIf< IsCString< T >::Value, void >::Type | CoherentTypeInfoCallCoherentBindInternal(Binder * binder) |
| template <typename T > EnableIf< IsCString< T >::Value, void >::Type | CoherentTypeInfoCallCoherentBindInternal(Binder * binder, void * model) |
| template <typename T > EnableIf<!IsCString< T >::Value, void >::Type | CoherentTypeInfoCallCoherentBindInternal(Binder * binder) |
| template <typename T > EnableIf<!IsCString< T >::Value, void >::Type | CoherentTypeInfoCallCoherentBindInternal(Binder * binder, void * model) |
| template <typename Type > EnableIf< PointerTrait< Type >::Value, bool >::Type | GetObjectInfoInvoke(Binder * binder, void * object, ObjectInfo * objInfo, const TypedProperty< Type &> * prop) |
| template <typename Type > EnableIf<!PointerTrait< Type >::Value, bool >::Type | GetObjectInfoInvoke(Binder * binder, void * object, ObjectInfo * objInfo, const TypedProperty< Type &> * prop) |
| template <typename P > FieldProperty< P > | MakeProperty(const char * name, P p) |
| template <typename G ,typename S > ConcreteProperty< G, S > | MakeProperty(const char * name, G g, S s) |
| template <typename G > ConcretePropertyReadOnly< G > | MakePropertyReadOnly(const char * name, G g) |
| template <typename Char ,typename CharTraits ,typename Allocator > void | CoherentBindInternal(Binder * binder, std::basic_string< Char, CharTraits, Allocator > & value) |
| template <typename Char ,typename CharTraits ,typename Allocator > void | CoherentBindInternal(Binder * binder, const std::basic_string< Char, CharTraits, Allocator > & value) |
| template <typename Char ,typename CharTraits ,typename Allocator > void | CoherentReadInternal(Binder * binder, std::basic_string< Char, CharTraits, Allocator > & value) |
| template <typename Char ,typename CharTraits ,typename Allocator > void | CoherentReadMapKey(Binder * binder, std::basic_string< Char, CharTraits, Allocator > & value) |
| template <typename T > DecayedType< T > * | DecayToMutablePtrUnchecked(T & value) Removes const and reference qualifiers from T and converts the input to a mutable pointer. |
| CSTRING_TYPETRAIT(char ) | |
| CSTRING_TYPETRAIT(signed char) | |
| CSTRING_TYPETRAIT(unsigned char) | |
| CSTRING_TYPETRAIT(wchar_t ) | |
| CSTRING_TYPETRAIT(char16_t ) | |
| CSTRING_TYPETRAIT(char32_t ) | |
| template <typename Key ,typename Value ,typename Hash ,typename Pred ,typename Allocator > void | CoherentBindInternal(Binder * binder, std::unordered_map< Key, Value, Hash, Pred, Allocator > & value) |
| template <typename Key ,typename Value ,typename Hash ,typename Pred ,typename Allocator > void | CoherentBindInternal(Binder * binder, const std::unordered_map< Key, Value, Hash, Pred, Allocator > & value) |
| template <typename Key ,typename Value ,typename Hash ,typename Pred ,typename Allocator > void | CoherentReadInternal(Binder * binder, std::unordered_map< Key, Value, Hash, Pred, Allocator > & value) |
| template <typename Key ,typename Value ,typename Hash ,typename Pred ,typename Allocator > bool | GetMapValueInvoke(Binder * binder, MapInfo * mapInfo, std::unordered_map< Key, Value, Hash, Pred, Allocator > * pMap) |
| template <typename… Args> void | CoherentBindInternal(cohtml::Binder * binder, std::variant< Args… > & value) |
| template <typename… Args> void | CoherentBindInternal(cohtml::Binder * binder, std::variant< Args… > * value) |
| template <typename… Args> void | CoherentBindInternal(cohtml::Binder * binder, const std::variant< Args… > & value) |
| template <typename… Args> void | CoherentBindInternal(cohtml::Binder * binder, const std::variant< Args… > * value) |
| template <typename… Args> void | CoherentReadInternal(cohtml::Binder * binder, std::variant< Args… > & value) |
| template <typename… Args> void | CoherentReadInternal(cohtml::Binder * binder, const std::variant< Args… > & value) |
| template <typename… Args> bool | GetObjectInfoInvoke(Binder * binder, ObjectInfo * objInfo, std::variant< Args… > & value) |
| template <typename… Args> bool | GetArrayValueInvoke(Binder * binder, void * object, ArrayInfo * arrayinfo, const TypedProperty< std::variant< Args… > &> * prop) |
| template <typename… Args> bool | GetArrayValueInvoke(Binder * binder, void * object, ArrayInfo * arrayinfo, const TypedProperty< std::variant< Args… > *&> * prop) |
| template <typename… Args> bool | GetArrayValueInvoke(Binder * binder, void * object, ArrayInfo * arrayinfo, const TypedProperty< const std::variant< Args… > *&> * prop) |
| template <typename… Args> bool | GetPairValueInvoke(Binder * binder, void * object, PairInfo * pairInfo, const TypedProperty< std::variant< Args… > &> * prop) |
| template <typename… Args> bool | GetPairValueInvoke(Binder * binder, void * object, PairInfo * pairInfo, const TypedProperty< std::variant< Args… > *&> * prop) |
| template <typename… Args> bool | GetPairValueInvoke(Binder * binder, void * object, PairInfo * pairInfo, const TypedProperty< const std::variant< Args… > *&> * prop) |
| template <typename… Args> bool | GetMapValueInvoke(Binder * binder, void * object, MapInfo * mapInfo, const TypedProperty< std::variant< Args… > &> * prop) |
| template <typename… Args> bool | GetMapValueInvoke(Binder * binder, void * object, MapInfo * mapInfo, const TypedProperty< std::variant< Args… > *&> * prop) |
| template <typename… Args> bool | GetMapValueInvoke(Binder * binder, void * object, MapInfo * mapInfo, const TypedProperty< const std::variant< Args… > *&> * prop) |
| template <typename VectorType > size_t | CoherentVectorLength(void * vectorPtr) |
| template <typename VectorType ,typename T > EnableIf<!cohtml::PointerTrait< T >::Value, void >::Type | CoherentVectorElementReader(Binder * binder, void * vectorPtr, size_t position) |
| template <typename VectorType ,typename T > EnableIf< cohtml::PointerTrait< T >::Value, void >::Type | CoherentVectorElementReader(Binder * binder, void * vectorPtr, size_t position) |
| template <typename VectorType ,typename T > EnableIf<!cohtml::PointerTrait< T >::Value, void * >::Type | CoherentVectorNativeElementReader(void * vectorPtr, size_t position) |
| template <typename VectorType ,typename T > EnableIf< cohtml::PointerTrait< T >::Value, void * >::Type | CoherentVectorNativeElementReader(void * vectorPtr, size_t position) |
| template <typename VectorType > void | CoherentVectorElementBinder(Binder * binder, void * vectorPtr, size_t index) |
| template <typename T ,typename A > void | CoherentBindInternal(Binder * binder, std::vector< T, A > & value) |
| template <typename T ,typename A > void | CoherentBindInternal(Binder * binder, const std::vector< T, A > & value) |
| template <typename A > void | CoherentBindInternal(Binder * binder, std::vector< float, A > & value) |
| template <typename A > void | CoherentBindInternal(Binder * binder, const std::vector< float, A > & value) |
| template <typename A > void | CoherentBindInternal(Binder * binder, std::vector< int, A > & value) |
| template <typename A > void | CoherentBindInternal(Binder * binder, const std::vector< int, A > & value) |
| template <typename T ,typename A > void | CoherentReadInternal(Binder * binder, std::vector< T, A > & value) |
| template <typename T > EnableIf<!IsVector< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type | GetArrayValueInvoke(Binder * binder, void * object, ArrayInfo * arrayInfo, const TypedProperty< T &> * prop) |
| template <typename T > bool | GetArrayValueInvoke(Binder * binder, ArrayInfo * arrayInfo, T value) |
| template <typename T ,typename A > bool | GetArrayValueInvoke(Binder * binder, ArrayInfo * arrayInfo, std::vector< T, A > * pVector) |
| template <typename T > EnableIf< IsVector< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type | GetArrayValueInvoke(Binder * binder, void * object, ArrayInfo * arrayInfo, const TypedProperty< T &> * prop) |
Detailed Description
Utility macros for enabling bitwise flag operations on enum class types. These macros define the standard bitwise operators (|, &, ^, ~ and their assignment variants) so enum values can be combined and tested as flags.
When binding a std::variant property, changing the active alternative at runtime to a different complex type after the property has been bound to JavaScript is unsupported and results in undefined behavior. (e.g. model.data bound as MyUserType, then reassigned). The underlying JavaScript object is not recreated when the active type changes.
Contains almost all Coherent namespaces, classes and functions.
Types Documentation
enum CompatibilityFlags
| Enumerator | Value | Description |
|---|---|---|
| None | 0 | |
| VCF_SynchronousStyleSolving | 1 « 0 | Enables the legacy synchronous style solving behavior for each view, where style changes are applied immediately on the UI thread as part of View::Advance() instead of being deferred into its own task to be executed on a different thread. Avoid using this as it may cause performance regressions! |
| VCF_DisableAspectRatio | 1 « 1 | Disables the aspect ratio correction for images, which can be used to work around some driver bugs that cause incorrect aspect ratio when rendering to render targets with non-default resolutions. |
| VCF_StripWhitespaceNodes | 1 « 2 | Enables the stripping of whitespace-only text nodes from the DOM, which can be used to work around some layout issues in existing UIs caused by the presence of such nodes. Stripping is disabled by default because some front-end frameworks (such as Svelte and SolidJS) rely on whitespace nodes and break when they are removed. |
| VCF_RevertRematchingBehavior_Partial | 1 « 3 | Reverts some of the optimizations related to rematching of CSS selectors, which can be used to work around some layout issues in existing UIs that were caused by the previous rematching behavior. |
| VCF_RevertRematchingBehavior_All | 1 « 4 | Reverts all of the optimizations related to rematching of CSS selectors, which can be used to work around some layout issues in existing UIs that were caused by the previous rematching behavior. |
| VCF_DisableFlexBasisUnits | 1 « 5 | Enables the use of legacy flex-basis units in the layout algorithm. The default behavior of flex-basis is more standard-compliant, but this can cause layout issues in existing UIs that rely on the old behavior. |
| VCF_IncludeStyleValueInMutationObserver | 1 « 6 | Enables the inclusion of style values in the MutationObserver records, which can be used to work around some issues in existing UIs that are not compatible with the new behavior of not including such values. |
| LCF_DoNotSnapToIntegerCoordsBeforeTransform | 1 « 7 | Disables the snapping of element coordinates to integer values before applying transforms, which can be used to work around some rendering issues in existing UIs that were caused by the new default behavior of snapping such coordinates. Snapping is enabled by default because not snapping can cause rendering issues in some cases. |
| LCF_DisableFontDataPreloading | 1 « 8 | Disables font data preloading, which can improve compatibility with some custom file system implementations that don’t support multiple concurrent stream readers for the same resource. |
| LCF_DisableCSSSharing | 1 « 9 | Enables the use of legacy behavior for handling of CSS stylesheets for shadow trees and views, where stylesheets are never shared and each shadow tree or view has its own copy at all times. |
Compatibility flags that can be used to enable legacy behaviors. Split into 2 groups, depending on what API the flag should be passed to:
- VCF - View compatibility flags, should be passed via the ViewSettings.
- LCF - Library compatibility flags, should be passed via the LibraryParams. All flags can be combined. View and Library compatibility flags are independent: flags intended for one are silently ignored by the other.
enum WorkType
| Enumerator | Value | Description |
|---|---|---|
| WT_Resources | ||
| WT_Layout |
enum WorkExecutionMode
| Enumerator | Value | Description |
|---|---|---|
| WEM_UntilQueueEmpty | Execute until all outstanding tasks have complete. | |
| WEM_UntilQuit | Execute until cohtml is uninitialized. Use this only if you have a dedicated thread you’ll use only for the specified cohtml work. |
The enumeration tells the Library how much work to execute in the invocation Please refer to the asynchronous work documentation for details.
enum GamepadHand
| Enumerator | Value | Description |
|---|---|---|
| GH_None | 0 | 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. |
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.
enum HTMLTag
| Enumerator | Value | Description |
|---|---|---|
| ENTRY | ||
| COUNT |
enum RenderingTasksAvailableType
| Enumerator | Value | Description |
|---|---|---|
| RTA_ViewReadyForRendering | ||
| RTA_RenderingSubSystemTask |
enum LayoutAlgorithm
| Enumerator | Value | Description |
|---|---|---|
| CompatibilityMode | Yoga in compatibility mode This keeps some preexisting bugs with the layout algorithm and previous default styles with the goal to not break existing UIs that were made with the previous layout behavior in mind. | |
| WebStandardMode | Yoga in web compliant mode This includes all fixes. Also changes some default styles to their defaults in the web namely flex-shrink and border-box Also in this mode the default position - static now operates as static instead of relative. |
enum InterceptRequestStatus
| Enumerator | Value | Description |
|---|---|---|
| Allow | ||
| Restrict |
enum InternalCaches
| Enumerator | Value | Description |
|---|---|---|
| ICACHE_Shadows | 1 « 0 | Access the cache for shadow textures (e.g. box-shadow, text-shadow) This cache has only size in number of contained objects. |
| ICACHE_Paths | 1 « 1 | Access the cache for complex shapes This cache has only size in number of contained objects. |
| ICACHE_Textures | 1 « 2 | No longer used. See ‘ICACHE_GPUResourcesPool’. |
| ICACHE_ScratchLayers | 1 « 3 | No longer used. See ‘ICACHE_GPUResourcesPool’. |
| ICACHE_ScratchTextures | 1 « 4 | No longer used. See ‘ICACHE_GPUResourcesPool’. |
| ICACHE_GfxCommandBuffers | 1 « 5 | Access the pool of command buffers, used for generating graphics commands for the graphics library. The cache has both size in number of contained objects and size in bytes. |
| ICACHE_GfxCommandProcessors | 1 « 6 | Access the pool of command processors, used for transforming the raw command buffers into ones usable by the graphics backend. The cache has both size in number of contained objects and size in bytes. |
| ICACHE_SVGSurfaces | 1 « 7 | Access the texture cache for textures where some non-inline SVGs are drawn. This cache flag can be used to clear those textures and force their recreation. |
| ICACHE_BackdropFilterSurfaces | 1 « 8 | Access the texture cache for surfaces used during backdrop filter rendering. This cache flag can be used to clear those textures and force their recreation. |
| ICACHE_DepthStencilTextures | 1 « 9 | No longer used. See ‘ICACHE_GPUResourcesPool’. |
| ICACHE_GPUResourcesPool | 1 « 10 | Cache used for GPU resources like internal intermediate render target textures, vertex buffers, index buffers, and constant buffers used during rendering. |
enum CaptureMode
| Enumerator | Value | Description |
|---|---|---|
| CM_PreserveAll | Do not alter the serialization of the pixel data. | |
| CM_PreserveAlpha | Obfuscate only the color channels of the images but preserve the alpha channel. | |
| CM_ObfuscateAll | Obfuscate the color channels as well as the alpha channel of the images. |
When serializing rendering commands, part of the image data in a document is saved as well. With these capture modes, you can force the capturer to obfuscate the pixel data and with that no images will be leaked through the serialized capture.
enum RegisterModelStatus
| Enumerator | Value | Description |
|---|---|---|
| RMS_Success | The operation was successful. | |
| RMS_ModelDataAlreadyRegistered | The specified model object is already registered (with the same or another name) | |
| RMS_ModelNameAlreadyRegistered | The specified model name is already registered. | |
| RMS_InvalidModel | The specified model object is nullptr, not bound successfully or odd aligned. | |
| RMS_DocumentNotCreated | The Document is not yet created. |
Status of a call to CreateModel() and RegisterModel()
enum UpdateModelStatus
| Enumerator | Value | Description |
|---|---|---|
| UMS_Success | The operation was successful. | |
| UMS_ModelNotRegistered | The specified model is not registered. | |
| UMS_DocumentNotCreated | The Document is not yet created. |
Status of a call to UpdateWholeModel(), UnregisterModel()
enum SynchronizeModelsStatus
| Enumerator | Value | Description |
|---|---|---|
| SMS_Success | The operation was successful. | |
| SMS_DocumentNotCreated | The Document is not yet created. | |
| SMS_DocumentDestruction | The Document is being destroyed. | |
| SMS_SynchronizationInProgress | There is an ongoing synchronization. |
Status of a call to SynchronizeModels()
enum ValueType
| Enumerator | Value | Description |
|---|---|---|
| VT_Null | ||
| VT_Undefined | ||
| VT_Boolean | ||
| VT_Number | ||
| VT_String | ||
| VT_Object | ||
| VT_Array | ||
| VT_Count |
The primitive types coming from JS.
enum ElementType
| Enumerator | Value | Description |
|---|---|---|
| ET_Boolean | Boolean value (bool). | |
| ET_Int8 | 8-bit signed integer. | |
| ET_UInt8 | 8-bit unsigned integer. | |
| ET_Int16 | 16-bit signed integer. | |
| ET_UInt16 | 16-bit unsigned integer. | |
| ET_Int32 | 32-bit signed integer. | |
| ET_UInt32 | 32-bit unsigned integer. | |
| ET_Int64 | 64-bit signed integer. | |
| ET_UInt64 | 64-bit unsigned integer. | |
| ET_Float | 32-bit floating-point number. | |
| ET_Double | 64-bit floating-point number. | |
| ET_String | String value. May be stored as a C-string, std::string, or any custom string type. Not directly cast by the SDK; retrieved exclusively via ToString(). | |
| ET_Color | Color value. | |
| ET_Array | Sequential container. Described by ArrayInfo. | |
| ET_Map | Associative container. Described by MapInfo. | |
| ET_Pair | Pair or 2-tuple. Described by PairInfo. | |
| ET_UserType | User-defined type. Described by TypeInfo. | |
| ET_PolymorphUserType | Dynamically-typed value, such as std::variant. |
Represents the underlying data category of a property, array element, map value, or pair member exposed to the scripting system.
Primitive types (ET_Boolean through ET_Double) represent concrete C++ values. For all primitive types except ET_String, the SDK may cast pointers returned by *Info callbacks directly to the corresponding native type.
typedef TimePoint
typedef double cohtml::TimePoint;
typedef TaskFamilyId
typedef int cohtml::TaskFamilyId;
typedef OnWorkAvailableFunc
typedef void(* cohtml::OnWorkAvailableFunc) (void *userData, WorkType type, TaskFamilyId family);
Called when a new task is available and should be executed later on.
typedef OnUserImageDroppedFunc
typedef void(* cohtml::OnUserImageDroppedFunc) (void *userData, void *texturePtr);
typedef BoundEventHandle
typedef void * cohtml::BoundEventHandle;
typedef OnRenderingTasksAvailableFunc
typedef void(* cohtml::OnRenderingTasksAvailableFunc) (void *userData, unsigned viewId, unsigned frameId, RenderingTasksAvailableType type);
typedef OnMonotonicallyIncreasingTimeRequestFunc
typedef double(* cohtml::OnMonotonicallyIncreasingTimeRequestFunc) (void *userdata, unsigned viewId);
typedef FrameCaptureCallback
typedef void(* cohtml::FrameCaptureCallback) (void *userData, FrameCapture *capture);
Function signature of callback used in View::BeginCaptureDebugFrame and View::CaptureSingleDebugFrame.
Parameters:
- userData The user data passed to View::BeginCaptureDebugFrame and View::CaptureSingleDebugFrame calls
- capture Object containing pointer to the data and the size. Must call Release() when finished using it.
typedef Reader
typedef void(* cohtml::Reader)(Binder *, void *, size_t);
typedef ArrayLengthGetter
typedef size_t(* cohtml::ArrayLengthGetter) (void *);
typedef ArrayElementGetter
typedef void*(* cohtml::ArrayElementGetter) (void *, size_t);
typedef MapElementGetter
typedef void*(* cohtml::MapElementGetter) (void *userData, const char *name);
typedef LengthGetter
typedef size_t(* cohtml::LengthGetter) (void *userData);
typedef ElementGetter
typedef void*(* cohtml::ElementGetter) (void *userData, size_t index);
typedef ArrayElementBinder
typedef void(* cohtml::ArrayElementBinder) (Binder *, void *, size_t);
typedef TrueType
typedef BoolConstant<true> cohtml::TrueType;
typedef FalseType
typedef BoolConstant<false> cohtml::FalseType;
using RemoveConstRef_t
template <typename T >
using cohtml::RemoveConstRef_t = typedef typename RemoveConstRef<T>::Type;
using DecayedType
template <typename T >
using cohtml::DecayedType = typedef typename UnwrapPointerType< typename RemoveConstRef<T>::Type, PointerTrait<T>::Value >::Type;
typedef NativeReader
typedef void*(* cohtml::NativeReader) (void *, size_t);
typedef VectorLengthFunc
typedef size_t(* cohtml::VectorLengthFunc) (void *);
Functions Documentation
function MakeHandler
template <typename Functor >
IEventHandler * MakeHandler(
Functor functor
)
Create event handler from generic C++ functor.
Parameters:
- functor generic C++ functor, i.e. pointer to static function or object with operator()
Return: IEventHandler that wraps the functor
function MakeHandler
template <typename Method >
IEventHandler * MakeHandler(
void * object,
Method method
)
Create event handler from C++ method.
Parameters:
- object pointer to the instance with which the method will be invoked
- method the C++ method to be invoked
Return: 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.
function COHTML_DEFINE_ENUM_FLAG_OPERATORS
COHTML_DEFINE_ENUM_FLAG_OPERATORS(
CompatibilityFlags
)
function AdaptRenderingAllocatorAndLoggerFromCohtml
void AdaptRenderingAllocatorAndLoggerFromCohtml(
IAllocator * allocator,
Logging::ILogHandler * logger,
renoir::IAllocator ** outRenderingAllocator,
renoir::Logging::ILogHandler ** outRenderingLogger
)
Function to adapt Cohtml based IAllocator and ILogHandler to the Rendering library variants It will use the allocator instance to allocate the adapters. You can call this to use Cohtml instances when using an externally initialized rendering library.
function DestroyAdaptedRenderingAllocatorAndLogger
void DestroyAdaptedRenderingAllocatorAndLogger(
IAllocator * allocator,
renoir::IAllocator * renderingAllocator,
renoir::Logging::ILogHandler * renderingLogger
)
Deallocates the adapters created from AdaptRenderingAllocatorAndLoggerFromCohtml.
function IsTagSelfClosing
inline bool IsTagSelfClosing(
HTMLTag tag
)
function CanTagContainHTML
inline bool CanTagContainHTML(
HTMLTag tag
)
function CanSVGTagContainText
inline bool CanSVGTagContainText(
HTMLTag tag
)
function CanTagBeSVG
inline bool CanTagBeSVG(
HTMLTag tag
)
function CoherentCreateModelBindPointer
template <typename T >
void COHERENT_STDCALL CoherentCreateModelBindPointer(
Binder * binder,
T * model
)
function CoherentArrayLength
template <typename ArrayType ,
size_t Size>
size_t CoherentArrayLength(
void * arrayPtr
)
function CoherentArrayElementReader
template <typename ArrayType >
void CoherentArrayElementReader(
Binder * binder,
void * data,
size_t position
)
function CoherentArrayElementBinder
template <typename ArrayType >
void CoherentArrayElementBinder(
Binder * binder,
void * arr,
size_t index
)
function CoherentArrayElementGetterImpl
template <typename T >
EnableIf< PointerTrait< T >::Value, void * >::Type CoherentArrayElementGetterImpl(
T & object
)
function CoherentArrayElementGetterImpl
template <typename T >
EnableIf<!PointerTrait< T >::Value &&!IsCString< T >::Value, void * >::Type CoherentArrayElementGetterImpl(
T & object
)
function CoherentArrayElementGetterImpl
template <typename T >
EnableIf<!PointerTrait< T >::Value &&IsCString< T >::Value, void * >::Type CoherentArrayElementGetterImpl(
T & object
)
function CoherentArrayElementGetter
template <typename ArrayType >
void * CoherentArrayElementGetter(
void * arr,
size_t index
)
function CoherentBindInternal
template <typename ArrayType ,
size_t ArraySize>
inline EnableIf<!IsChar< ArrayType >::Value||IsSame< ArrayType, unsigned char >::Value >::Type CoherentBindInternal(
Binder * binder,
ArrayType(&) array[ArraySize]
)
function CoherentBindInternal
template <typename ArrayType ,
size_t ArraySize>
inline EnableIf< IsChar< ArrayType >::Value &&!IsSame< ArrayType, unsigned char >::Value >::Type CoherentBindInternal(
Binder * binder,
ArrayType array[ArraySize]
)
function CoherentReadInternal
template <typename ArrayType ,
size_t ArraySize>
inline EnableIf<!IsChar< ArrayType >::Value||IsSame< ArrayType, unsigned char >::Value >::Type CoherentReadInternal(
Binder * binder,
ArrayType(&) array[ArraySize]
)
function CoherentReadInternal
template <typename ArrayType ,
size_t ArraySize>
inline EnableIf< IsChar< ArrayType >::Value &&!IsSame< ArrayType, unsigned char >::Value >::Type CoherentReadInternal(
Binder * binder,
ArrayType array[ArraySize]
)
function ValueTypeToString
inline const char * ValueTypeToString(
ValueType type
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
bool value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
signed short value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
unsigned short value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
signed int value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
unsigned int value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
signed long long value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
unsigned long long value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
signed long value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
unsigned long value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
char value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
signed char value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
unsigned char value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
float value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
double value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
const char * value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
const wchar_t * value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
const char16_t * value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
const char32_t * value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
signed short & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
unsigned short & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
signed int & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
unsigned int & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
signed long long & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
unsigned long long & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
signed long & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
unsigned long & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
bool & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
char & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
signed char & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
unsigned char & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
float & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
double & value
)
function CoherentBindInternalPointerHelper
template <typename T >
EnableIf< cohtml::TypeToElementType< T >::value==ElementType::ET_UserType, void >::Type CoherentBindInternalPointerHelper(
Binder * binder,
T * object
)
function CoherentBindInternalPointerHelper
template <typename T >
EnableIf< cohtml::TypeToElementType< T >::value !=ElementType::ET_UserType, void >::Type CoherentBindInternalPointerHelper(
Binder * binder,
T * object
)
function CoherentBindInternalPointer
template <typename T >
EnableIf< PointerTrait< T >::Value, void >::Type CoherentBindInternalPointer(
Binder * binder,
T & object
)
function CoherentBindInternalPointer
template <typename T >
EnableIf<!PointerTrait< T >::Value &&!IsCString< T >::Value, void >::Type CoherentBindInternalPointer(
Binder * binder,
T & object
)
function CoherentBindInternalPointer
template <typename T >
EnableIf<!PointerTrait< T * >::Value &&IsCString< T * >::Value, void >::Type CoherentBindInternalPointer(
Binder * binder,
T *& object
)
function CoherentReadInternalUserType
template <typename T >
EnableIf< PointerTrait< T >::Value, void >::Type CoherentReadInternalUserType(
Binder * binder,
T & object
)
function CoherentReadInternalUserType
template <typename T >
EnableIf<!PointerTrait< T >::Value &&IsCString< T >::Value, void >::Type CoherentReadInternalUserType(
Binder * binder,
T & object
)
function CoherentReadInternalUserType
template <typename T >
EnableIf<!PointerTrait< T >::Value &&!IsCString< T >::Value, void >::Type CoherentReadInternalUserType(
Binder * binder,
T & object
)
function CoherentBindInternal
template <typename T >
EnableIf< IsDefaultBindEnabled< T >::Value >::Type CoherentBindInternal(
Binder * binder,
T & object
)
function CoherentBindInternal
template <typename T >
EnableIf< IsDefaultBindEnabled< T >::Value >::Type CoherentBindInternal(
Binder * binder,
const T & object
)
function CoherentReadInternal
template <typename T >
EnableIf< IsDefaultBindEnabled< T >::Value >::Type CoherentReadInternal(
Binder * binder,
T & object
)
function CoherentBindKeyValueProperty
template <typename T ,
typename A >
void CoherentBindKeyValueProperty(
Binder * binder,
T && key,
A && value
)
function CoherentBindKeyValueProperty
template <typename T ,
typename A >
void CoherentBindKeyValueProperty(
Binder * binder,
T && keyProperty,
void * key,
A && valueProperty,
void * value
)
function ByRef
template <typename T >
ByRefHolder< T > ByRef(
T & ref
)
function CoherentBindInternal
template <typename T >
void CoherentBindInternal(
Binder * binder,
ByRefHolder< T > & holder
)
function CoherentBindInternal
template <typename T >
void CoherentBindInternal(
Binder * binder,
const ByRefHolder< T > & holder
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
renoir::Color & value
)
function CoherentBindInternal
inline void CoherentBindInternal(
Binder * binder,
const renoir::Color & value
)
function CoherentReadInternal
inline void CoherentReadInternal(
Binder * binder,
renoir::Color & value
)
function CoherentBindInternal
template <typename Key ,
typename Value ,
typename Comparator ,
typename Allocator >
void CoherentBindInternal(
Binder * binder,
std::map< Key, Value, Comparator, Allocator > & value
)
function CoherentBindInternal
template <typename Key ,
typename Value ,
typename Comparator ,
typename Allocator >
void CoherentBindInternal(
Binder * binder,
const std::map< Key, Value, Comparator, Allocator > & value
)
function CoherentReadInternal
template <typename Key ,
typename Value ,
typename Comparator ,
typename Allocator >
void CoherentReadInternal(
Binder * binder,
std::map< Key, Value, Comparator, Allocator > & value
)
function GetMapValueInvoke
template <typename Key ,
typename Value ,
typename Comparator ,
typename Allocator >
inline bool GetMapValueInvoke(
Binder * binder,
MapInfo * mapInfo,
std::map< Key, Value, Comparator, Allocator > * pMap
)
function CoherentReadMapKey
template <typename T >
void CoherentReadMapKey(
Binder * binder,
T & value
)
function GetMapValueInvoke
template <typename T >
inline EnableIf<!IsMap< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type GetMapValueInvoke(
Binder * binder,
void * object,
MapInfo * mapInfo,
const TypedProperty< T &> * prop
)
function GetMapValueInvoke
template <typename T >
EnableIf< IsMap< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type GetMapValueInvoke(
Binder * binder,
void * object,
MapInfo * mapInfo,
const TypedProperty< T &> * prop
)
function GetMapValueInvoke
template <typename T >
inline bool GetMapValueInvoke(
Binder * binder,
MapInfo * mapInfo,
T notMap
)
function CoherentMapNativeElementReader
template <typename MapType ,
typename MapKeyType ,
typename MapValueType >
EnableIf<!cohtml::PointerTrait< MapValueType >::Value, void * >::Type CoherentMapNativeElementReader(
void * data,
char const * name
)
function CoherentMapNativeElementReader
template <typename MapType ,
typename MapKeyType ,
typename MapValueType >
EnableIf< cohtml::PointerTrait< MapValueType >::Value, void * >::Type CoherentMapNativeElementReader(
void * data,
char const * name
)
function CoherentBindInternal
template <typename T1 ,
typename T2 >
void CoherentBindInternal(
Binder * binder,
std::pair< T1, T2 > & value
)
function CoherentBindInternal
template <typename T1 ,
typename T2 >
void CoherentBindInternal(
Binder * binder,
const std::pair< T1, T2 > & value
)
function CoherentReadInternal
template <typename T1 ,
typename T2 >
void CoherentReadInternal(
Binder * binder,
std::pair< T1, T2 > & value
)
function GetPairValueInvoke
template <typename T >
inline EnableIf<!IsPair< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type GetPairValueInvoke(
Binder * binder,
void * object,
PairInfo * pairInfo,
const TypedProperty< T &> * prop
)
function GetPairValueInvoke
template <typename T >
inline bool GetPairValueInvoke(
Binder * binder,
PairInfo * pairInfo,
T value
)
function GetPairValueInvoke
template <typename T1 ,
typename T2 >
inline bool GetPairValueInvoke(
Binder * binder,
PairInfo * pairInfo,
std::pair< T1, T2 > * pPair
)
function GetPairValueInvoke
template <typename T >
EnableIf< IsPair< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type GetPairValueInvoke(
Binder * binder,
void * object,
PairInfo * arrayInfo,
const TypedProperty< T &> * prop
)
function ExtractRawArray
template <typename ArrayType ,
size_t ArraySize>
inline EnableIf<(!IsChar< ArrayType >::Value||IsSame< ArrayType, unsigned char >::Value) &&(TypeToElementType< ArrayType >::value !=ElementType::ET_UserType), bool >::Type ExtractRawArray(
Binder * binder,
ArrayType(&) userData[ArraySize],
ArrayInfo * arrayInfo
)
Helper function for converting a Property into an array when the property is a C-style array.
Parameters:
- binder - the binder to use
- userData - object that might be a C-style array or not
- arrayInfo - information about array type - callbacks, properties, methods
Return: true - if the conversion was successful
function ExtractRawArray
template <typename ArrayType ,
size_t ArraySize>
inline EnableIf<(!IsChar< ArrayType >::Value||IsSame< ArrayType, unsigned char >::Value) &&(TypeToElementType< ArrayType >::value==ElementType::ET_UserType), bool >::Type ExtractRawArray(
Binder * binder,
ArrayType(&) userData[ArraySize],
ArrayInfo * arrayInfo
)
function ExtractRawArray
template <typename ValueType >
inline bool ExtractRawArray(
Binder * ,
const ValueType & ,
ArrayInfo *
)
function CoherentTypeInfoCallCoherentBindInternal
template <typename T >
EnableIf< IsCString< T >::Value, void >::Type CoherentTypeInfoCallCoherentBindInternal(
Binder * binder
)
function CoherentTypeInfoCallCoherentBindInternal
template <typename T >
EnableIf< IsCString< T >::Value, void >::Type CoherentTypeInfoCallCoherentBindInternal(
Binder * binder,
void * model
)
function CoherentTypeInfoCallCoherentBindInternal
template <typename T >
EnableIf<!IsCString< T >::Value, void >::Type CoherentTypeInfoCallCoherentBindInternal(
Binder * binder
)
function CoherentTypeInfoCallCoherentBindInternal
template <typename T >
EnableIf<!IsCString< T >::Value, void >::Type CoherentTypeInfoCallCoherentBindInternal(
Binder * binder,
void * model
)
function GetObjectInfoInvoke
template <typename Type >
EnableIf< PointerTrait< Type >::Value, bool >::Type GetObjectInfoInvoke(
Binder * binder,
void * object,
ObjectInfo * objInfo,
const TypedProperty< Type &> * prop
)
function GetObjectInfoInvoke
template <typename Type >
EnableIf<!PointerTrait< Type >::Value, bool >::Type GetObjectInfoInvoke(
Binder * binder,
void * object,
ObjectInfo * objInfo,
const TypedProperty< Type &> * prop
)
function MakeProperty
template <typename P >
FieldProperty< P > MakeProperty(
const char * name,
P p
)
function MakeProperty
template <typename G ,
typename S >
ConcreteProperty< G, S > MakeProperty(
const char * name,
G g,
S s
)
function MakePropertyReadOnly
template <typename G >
ConcretePropertyReadOnly< G > MakePropertyReadOnly(
const char * name,
G g
)
function CoherentBindInternal
template <typename Char ,
typename CharTraits ,
typename Allocator >
void CoherentBindInternal(
Binder * binder,
std::basic_string< Char, CharTraits, Allocator > & value
)
function CoherentBindInternal
template <typename Char ,
typename CharTraits ,
typename Allocator >
void CoherentBindInternal(
Binder * binder,
const std::basic_string< Char, CharTraits, Allocator > & value
)
function CoherentReadInternal
template <typename Char ,
typename CharTraits ,
typename Allocator >
void CoherentReadInternal(
Binder * binder,
std::basic_string< Char, CharTraits, Allocator > & value
)
function CoherentReadMapKey
template <typename Char ,
typename CharTraits ,
typename Allocator >
void CoherentReadMapKey(
Binder * binder,
std::basic_string< Char, CharTraits, Allocator > & value
)
function DecayToMutablePtrUnchecked
template <typename T >
DecayedType< T > * DecayToMutablePtrUnchecked(
T & value
)
Removes const and reference qualifiers from T and converts the input to a mutable pointer.
- If T is a value type, returns &value
- If T is a pointer type, unwraps it and returns a mutable pointer valueThe value or pointer to decay
Mutable pointer to the decayed underlying type
Constness is discarded via blind cast and assumed to be safe by contract.
function CSTRING_TYPETRAIT
CSTRING_TYPETRAIT(
char
)
function CSTRING_TYPETRAIT
CSTRING_TYPETRAIT(
signed char
)
function CSTRING_TYPETRAIT
CSTRING_TYPETRAIT(
unsigned char
)
function CSTRING_TYPETRAIT
CSTRING_TYPETRAIT(
wchar_t
)
function CSTRING_TYPETRAIT
CSTRING_TYPETRAIT(
char16_t
)
function CSTRING_TYPETRAIT
CSTRING_TYPETRAIT(
char32_t
)
function CoherentBindInternal
template <typename Key ,
typename Value ,
typename Hash ,
typename Pred ,
typename Allocator >
void CoherentBindInternal(
Binder * binder,
std::unordered_map< Key, Value, Hash, Pred, Allocator > & value
)
function CoherentBindInternal
template <typename Key ,
typename Value ,
typename Hash ,
typename Pred ,
typename Allocator >
void CoherentBindInternal(
Binder * binder,
const std::unordered_map< Key, Value, Hash, Pred, Allocator > & value
)
function CoherentReadInternal
template <typename Key ,
typename Value ,
typename Hash ,
typename Pred ,
typename Allocator >
void CoherentReadInternal(
Binder * binder,
std::unordered_map< Key, Value, Hash, Pred, Allocator > & value
)
function GetMapValueInvoke
template <typename Key ,
typename Value ,
typename Hash ,
typename Pred ,
typename Allocator >
inline bool GetMapValueInvoke(
Binder * binder,
MapInfo * mapInfo,
std::unordered_map< Key, Value, Hash, Pred, Allocator > * pMap
)
function CoherentBindInternal
template <typename... Args>
void CoherentBindInternal(
cohtml::Binder * binder,
std::variant< Args... > & value
)
function CoherentBindInternal
template <typename... Args>
void CoherentBindInternal(
cohtml::Binder * binder,
std::variant< Args... > * value
)
function CoherentBindInternal
template <typename... Args>
void CoherentBindInternal(
cohtml::Binder * binder,
const std::variant< Args... > & value
)
function CoherentBindInternal
template <typename... Args>
void CoherentBindInternal(
cohtml::Binder * binder,
const std::variant< Args... > * value
)
function CoherentReadInternal
template <typename... Args>
void CoherentReadInternal(
cohtml::Binder * binder,
std::variant< Args... > & value
)
function CoherentReadInternal
template <typename... Args>
void CoherentReadInternal(
cohtml::Binder * binder,
const std::variant< Args... > & value
)
function GetObjectInfoInvoke
template <typename... Args>
bool GetObjectInfoInvoke(
Binder * binder,
ObjectInfo * objInfo,
std::variant< Args... > & value
)
function GetArrayValueInvoke
template <typename... Args>
bool GetArrayValueInvoke(
Binder * binder,
void * object,
ArrayInfo * arrayinfo,
const TypedProperty< std::variant< Args... > &> * prop
)
function GetArrayValueInvoke
template <typename... Args>
bool GetArrayValueInvoke(
Binder * binder,
void * object,
ArrayInfo * arrayinfo,
const TypedProperty< std::variant< Args... > *&> * prop
)
function GetArrayValueInvoke
template <typename... Args>
bool GetArrayValueInvoke(
Binder * binder,
void * object,
ArrayInfo * arrayinfo,
const TypedProperty< const std::variant< Args... > *&> * prop
)
function GetPairValueInvoke
template <typename... Args>
bool GetPairValueInvoke(
Binder * binder,
void * object,
PairInfo * pairInfo,
const TypedProperty< std::variant< Args... > &> * prop
)
function GetPairValueInvoke
template <typename... Args>
bool GetPairValueInvoke(
Binder * binder,
void * object,
PairInfo * pairInfo,
const TypedProperty< std::variant< Args... > *&> * prop
)
function GetPairValueInvoke
template <typename... Args>
bool GetPairValueInvoke(
Binder * binder,
void * object,
PairInfo * pairInfo,
const TypedProperty< const std::variant< Args... > *&> * prop
)
function GetMapValueInvoke
template <typename... Args>
bool GetMapValueInvoke(
Binder * binder,
void * object,
MapInfo * mapInfo,
const TypedProperty< std::variant< Args... > &> * prop
)
function GetMapValueInvoke
template <typename... Args>
bool GetMapValueInvoke(
Binder * binder,
void * object,
MapInfo * mapInfo,
const TypedProperty< std::variant< Args... > *&> * prop
)
function GetMapValueInvoke
template <typename... Args>
bool GetMapValueInvoke(
Binder * binder,
void * object,
MapInfo * mapInfo,
const TypedProperty< const std::variant< Args... > *&> * prop
)
function CoherentVectorLength
template <typename VectorType >
size_t CoherentVectorLength(
void * vectorPtr
)
function CoherentVectorElementReader
template <typename VectorType ,
typename T >
EnableIf<!cohtml::PointerTrait< T >::Value, void >::Type CoherentVectorElementReader(
Binder * binder,
void * vectorPtr,
size_t position
)
function CoherentVectorElementReader
template <typename VectorType ,
typename T >
EnableIf< cohtml::PointerTrait< T >::Value, void >::Type CoherentVectorElementReader(
Binder * binder,
void * vectorPtr,
size_t position
)
function CoherentVectorNativeElementReader
template <typename VectorType ,
typename T >
EnableIf<!cohtml::PointerTrait< T >::Value, void * >::Type CoherentVectorNativeElementReader(
void * vectorPtr,
size_t position
)
function CoherentVectorNativeElementReader
template <typename VectorType ,
typename T >
EnableIf< cohtml::PointerTrait< T >::Value, void * >::Type CoherentVectorNativeElementReader(
void * vectorPtr,
size_t position
)
function CoherentVectorElementBinder
template <typename VectorType >
void CoherentVectorElementBinder(
Binder * binder,
void * vectorPtr,
size_t index
)
function CoherentBindInternal
template <typename T ,
typename A >
void CoherentBindInternal(
Binder * binder,
std::vector< T, A > & value
)
function CoherentBindInternal
template <typename T ,
typename A >
void CoherentBindInternal(
Binder * binder,
const std::vector< T, A > & value
)
function CoherentBindInternal
template <typename A >
void CoherentBindInternal(
Binder * binder,
std::vector< float, A > & value
)
function CoherentBindInternal
template <typename A >
void CoherentBindInternal(
Binder * binder,
const std::vector< float, A > & value
)
function CoherentBindInternal
template <typename A >
void CoherentBindInternal(
Binder * binder,
std::vector< int, A > & value
)
function CoherentBindInternal
template <typename A >
void CoherentBindInternal(
Binder * binder,
const std::vector< int, A > & value
)
function CoherentReadInternal
template <typename T ,
typename A >
void CoherentReadInternal(
Binder * binder,
std::vector< T, A > & value
)
function GetArrayValueInvoke
template <typename T >
inline EnableIf<!IsVector< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type GetArrayValueInvoke(
Binder * binder,
void * object,
ArrayInfo * arrayInfo,
const TypedProperty< T &> * prop
)
function GetArrayValueInvoke
template <typename T >
inline bool GetArrayValueInvoke(
Binder * binder,
ArrayInfo * arrayInfo,
T value
)
function GetArrayValueInvoke
template <typename T ,
typename A >
inline bool GetArrayValueInvoke(
Binder * binder,
ArrayInfo * arrayInfo,
std::vector< T, A > * pVector
)
function GetArrayValueInvoke
template <typename T >
EnableIf< IsVector< typename UnwrapPointerType< T, PointerTrait< T >::Value >::Type >::Value, bool >::Type GetArrayValueInvoke(
Binder * binder,
void * object,
ArrayInfo * arrayInfo,
const TypedProperty< T &> * prop
)