ISukiToast.cs 1001 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using System.Collections.ObjectModel;
  3. using System.Threading.Tasks;
  4. using Avalonia.Media;
  5. namespace SukiUI.Toasts
  6. {
  7. public interface ISukiToast
  8. {
  9. ISukiToastManager? Manager { get; set; }
  10. string Title { get; set; }
  11. object? Content { get; set; }
  12. object? Icon { get; set; }
  13. IBrush? Foreground { get; set; }
  14. bool CanDismissByClicking { get; set; }
  15. bool LoadingState { get; set; }
  16. Action<ISukiToast>? OnDismissed { get; set; }
  17. Action<ISukiToast> OnClicked { get; set; }
  18. ObservableCollection<object> ActionButtons { get; }
  19. void AnimateShow();
  20. void AnimateDismiss();
  21. ISukiToast ResetToDefault();
  22. /// <summary>
  23. /// This is what's called when a delay based dismiss is used.
  24. /// This is tracked so that it can be disposed of when the toast is dismissed by other means.
  25. /// </summary>
  26. Action<ISukiToast>? DelayDismissAction { get; set; }
  27. }
  28. }