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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user