Enum AdditionOverflowPolicy
- Namespace
- KernSmith
- Assembly
- KernSmith.dll
What a BmFontIncrementalSession does when a newly added glyph does not fit in the free space of the existing atlas pages. Existing placements are never moved under any policy.
public enum AdditionOverflowPolicy
Fields
Grow = 0Enlarge the pages in place: the smaller page dimension is doubled (power-of-two growth, mirroring AutofitTexture's bump), capped at MaxTextureWidth/MaxTextureHeight, repeating until the glyph fits. Existing placements remain valid — pages only gain free strips. When both dimensions are already at their maximum and the glyph still does not fit, an AtlasPackingException is thrown. PageGrown tells the caller to reallocate the texture and copy old contents at (0,0). This is the default.
NewPage = 1Append a fresh, fully-free page and place the glyph there. Never fails (unless a single glyph is larger than an entire page, which throws AtlasPackingException). Page dimensions never change.
Throw = 2Throw AtlasPackingException immediately on the first glyph that does not fit. For consumers with a fixed-size texture that cannot be reallocated.