feat(interop): add safe handle wrappers and configuration options

Implement SafeHandle wrappers for native resources (SafeGtkWidgetHandle, SafeGObjectHandle, SafeX11DisplayHandle, SafeX11CursorHandle, SafeDlopenHandle) to prevent memory leaks. Move gesture and rendering configuration from static properties to LinuxApplicationOptions for better testability and DI compatibility. Add THREADING.md and DI-MIGRATION.md documentation. Include LayoutIntegrationTests for Measure/Arrange pipeline and SkiaViewTheoryTests with parameterized test cases using [Theory] attributes.
This commit is contained in:
2026-03-06 23:40:51 -05:00
parent 3412cb982e
commit 6b45f28b4e
7 changed files with 1505 additions and 0 deletions

View File

@@ -20,4 +20,15 @@ public class LinuxApplicationOptions
public string? IconPath { get; set; }
public bool UseGtk { get; set; }
// Gesture configuration
public double SwipeMinDistance { get; set; } = 50.0;
public double SwipeMaxTime { get; set; } = 500.0;
public double SwipeDirectionThreshold { get; set; } = 0.5;
public double PanMinDistance { get; set; } = 10.0;
public double PinchScrollScale { get; set; } = 0.1;
// Rendering configuration
public int MaxDirtyRegions { get; set; } = 32;
public float RegionMergeThreshold { get; set; } = 0.3f;
}