IWindowImpl.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright (c) The Avalonia Project. All rights reserved.
  2. // Licensed under the MIT license. See licence.md file in the project root for full license information.
  3. using System;
  4. using Avalonia.Controls;
  5. namespace Avalonia.Platform
  6. {
  7. /// <summary>
  8. /// Defines a platform-specific window implementation.
  9. /// </summary>
  10. public interface IWindowImpl : IWindowBaseImpl
  11. {
  12. /// <summary>
  13. /// Gets or sets the minimized/maximized state of the window.
  14. /// </summary>
  15. WindowState WindowState { get; set; }
  16. /// <summary>
  17. /// Sets the title of the window.
  18. /// </summary>
  19. /// <param name="title">The title.</param>
  20. void SetTitle(string title);
  21. /// <summary>
  22. /// Shows the window as a dialog.
  23. /// </summary>
  24. /// <returns>
  25. /// An <see cref="IDisposable"/> that should be used to close the window.
  26. /// </returns>
  27. IDisposable ShowDialog();
  28. /// <summary>
  29. /// Enables or disables system window decorations (title bar, buttons, etc)
  30. /// </summary>
  31. void SetSystemDecorations(bool enabled);
  32. /// <summary>
  33. /// Sets the icon of this window.
  34. /// </summary>
  35. void SetIcon(IWindowIconImpl icon);
  36. /// <summary>
  37. /// Enables or disables the taskbar icon
  38. /// </summary>
  39. void ShowTaskbarIcon(bool value);
  40. }
  41. }