using System;
namespace Avalonia.Platform
{
public interface IWindowBaseImpl : ITopLevelImpl
{
///
/// Shows the top level.
///
void Show();
///
/// Hides the window.
///
void Hide();
///
/// Gets the scaling factor for Window positioning and sizing.
///
double DesktopScaling { get; }
///
/// Gets the position of the window in device pixels.
///
PixelPoint Position { get; }
///
/// Gets or sets a method called when the window's position changes.
///
Action PositionChanged { get; set; }
///
/// Activates the window.
///
void Activate();
///
/// Gets or sets a method called when the window is deactivated (loses focus).
///
Action Deactivated { get; set; }
///
/// Gets or sets a method called when the window is activated (receives focus).
///
Action Activated { get; set; }
///
/// Gets the platform window handle.
///
IPlatformHandle Handle { get; }
///
/// Gets a maximum client size hint for an auto-sizing window, in device-independent pixels.
///
Size MaxAutoSizeHint { get; }
///
/// Sets whether this window appears on top of all other windows
///
void SetTopmost(bool value);
///
/// Gets platform specific display information
///
IScreenImpl Screen { get; }
}
}