Modules§
Structs§
- Base
Font Instance - Immutable description of a font instance’s shared state.
- Font
Contexts - Font
Instance - A mutable font instance description.
- Font
Instance KeyMap - A map of namespace-local font instance keys to shared keys. Weak references are used to track the liveness of each key mapping as other consumers of BaseFontInstance might hold strong references to the entry. A mapping from BaseFontInstance to the shared key is then used to determine which shared key to assign to that instance. When the weak count of the mapping is zero, the entry is allowed to expire. Again, care must be taken when clearing a namespace within the key map as it may cause shared key expirations that require individual processing. Shared instance keys will be created within the provided unique namespace.
- Font
Instance Map - A map of font instance data accessed concurrently from multiple threads.
- Font
KeyMap - A shared map from fonts key local to a namespace to shared font keys that can be shared across many namespaces. Local keys are tracked in a hashmap that stores a strong reference per mapping so that their count can be tracked. A map of font templates is used to hash font templates to their final shared key. The shared key will stay alive so long as there are any strong references to the mapping entry. Care must be taken when clearing namespaces of shared keys as this may trigger shared font keys to expire which require individual processing. Shared font keys will be created within the provided unique namespace.
- Font
Template Map - A map of font keys to font templates that might hold both namespace-local font templates as well as shared templates.
- Font
Transform - Glyph
Key - Glyph
Raster Job - Glyph
Raster Thread - Glyph
Rasterizer - GpuGlyph
Cache Key - Rasterized
Glyph - Shared
Font Resources - Shared font resources that may need to be passed between multiple threads such as font templates and font instances. They are individually protected by locks to ensure safety.