1
0

MacHelper.cs 716 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using Avalonia.Controls.Platform;
  3. using MonoMac.AppKit;
  4. namespace ControlCatalog.NetCore;
  5. internal class MacHelper
  6. {
  7. private static bool _isInitialized;
  8. public static void EnsureInitialized()
  9. {
  10. if (_isInitialized)
  11. return;
  12. _isInitialized = true;
  13. NSApplication.Init();
  14. }
  15. }
  16. internal class MacOSViewHandle : INativeControlHostDestroyableControlHandle
  17. {
  18. private NSView _view;
  19. public MacOSViewHandle(NSView view)
  20. {
  21. _view = view;
  22. }
  23. public IntPtr Handle => _view?.Handle ?? IntPtr.Zero;
  24. public string HandleDescriptor => "NSView";
  25. public void Destroy()
  26. {
  27. _view.Dispose();
  28. _view = null;
  29. }
  30. }