Introduce TextOptions by Gillibald · Pull Request #20107 · AvaloniaUI/Avalonia (original) (raw)
src/Avalonia.Base/Media/TextOptions.cs
New struct defining text rendering options with methods for getting/setting options on visuals
src/Avalonia.Base/Media/TextHintingMode.cs
New enum defining text hinting modes (None, Slight, Normal, Full)
src/Avalonia.Base/Media/TextRenderingMode.cs
Enhanced with XML documentation for each enum value
src/Avalonia.Base/Media/RenderOptions.cs
Removed TextRenderingMode property and related methods
src/Avalonia.Base/Visual.cs
Added TextOptions property alongside existing RenderOptions
src/Avalonia.Base/Platform/IDrawingContextImpl.cs
Added PushTextOptions and PopTextOptions methods to interface
src/Skia/Avalonia.Skia/TwoLevelCache.cs
New cache implementation for storing text blobs with eviction support
src/Skia/Avalonia.Skia/GlyphRunImpl.cs
Updated to use TextOptions for text blob caching instead of simple edging array
src/Skia/Avalonia.Skia/DrawingContextImpl.cs
Implemented text options stack and applies hinting/baseline settings
src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs
Added text options support with separate text antialiasing control
src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs
Added no-op text options methods for headless rendering
src/Avalonia.Base/Rendering/ImmediateRenderer.cs
Updated to push text options before render options
src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionVisual.cs
Added text options push/pop in rendering pipeline
src/Avalonia.Base/Rendering/Composition/Server/DrawingContextProxy.cs
Added text options proxy commands
tests/Avalonia.Skia.UnitTests/Media/GlyphRunTests.cs
Updated to use new TextOptions API
tests/Avalonia.RenderTests/Media/GlyphRunTests.cs
Migrated from RenderOptions.SetTextRenderingMode to TextOptions.SetTextRenderingMode