using System; using Avalonia.Controls; namespace Avalonia.Platform { public interface IWindowBaseImpl : ITopLevelImpl { /// /// Shows the top level. /// void Show(); /// /// Hides the window. /// void Hide(); /// /// Starts moving a window with left button being held. Should be called from left mouse button press event handler. /// void BeginMoveDrag(); /// /// Starts resizing a window. This function is used if an application has window resizing controls. /// Should be called from left mouse button press event handler /// void BeginResizeDrag(WindowEdge edge); /// /// Gets position of the window relatively to the screen /// Point Position { get; set; } /// /// 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 the maximum size of a window on the system. /// Size MaxClientSize { get; } /// /// Sets the client size of the top level. /// void Resize(Size clientSize); /// /// Minimum width of the window. /// /// void SetMinMaxSize(Size minSize, Size maxSize); /// /// Sets whether this window appears on top of all other windows /// void SetTopmost(bool value); /// /// Gets platform specific display information /// IScreenImpl Screen { get; } } }