IWindowBaseImpl.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. using System;
  2. using Avalonia.Controls;
  3. namespace Avalonia.Platform
  4. {
  5. public interface IWindowBaseImpl : ITopLevelImpl
  6. {
  7. /// <summary>
  8. /// Shows the top level.
  9. /// </summary>
  10. void Show();
  11. /// <summary>
  12. /// Hides the window.
  13. /// </summary>
  14. void Hide();
  15. /// <summary>
  16. /// Gets the position of the window in device pixels.
  17. /// </summary>
  18. PixelPoint Position { get; }
  19. /// <summary>
  20. /// Gets or sets a method called when the window's position changes.
  21. /// </summary>
  22. Action<PixelPoint> PositionChanged { get; set; }
  23. /// <summary>
  24. /// Activates the window.
  25. /// </summary>
  26. void Activate();
  27. /// <summary>
  28. /// Gets or sets a method called when the window is deactivated (loses focus).
  29. /// </summary>
  30. Action Deactivated { get; set; }
  31. /// <summary>
  32. /// Gets or sets a method called when the window is activated (receives focus).
  33. /// </summary>
  34. Action Activated { get; set; }
  35. /// <summary>
  36. /// Gets the platform window handle.
  37. /// </summary>
  38. IPlatformHandle Handle { get; }
  39. /// <summary>
  40. /// Gets the maximum size of a window on the system.
  41. /// </summary>
  42. Size MaxClientSize { get; }
  43. /// <summary>
  44. /// Sets whether this window appears on top of all other windows
  45. /// </summary>
  46. void SetTopmost(bool value);
  47. /// <summary>
  48. /// Gets platform specific display information
  49. /// </summary>
  50. IScreenImpl Screen { get; }
  51. }
  52. }