Vixen
02b45cc4
csharp
public interface IUiWindow

A real operating-system window showing one surface of a document.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

⚠ The interface is here and the implementation cannot be. A window belongs to Vixen.Platform, which is a layer above Core/ — so a UI framework that referenced it would invert the dependency doc 00 makes non-negotiable, and would stop being usable with no backend at all. This is the seam: the framework states what it needs of a window and the application head, which is allowed to know about both, supplies it.

The surface is the window's, created by the host and owned by it: closing the window removes the surface from the document. Everything inside the surface is the caller's, put there by reparenting rather than by building — which is the whole reason windows are surfaces of one document rather than documents of their own.

Fields and properties (5)

  • UiSurface Surface

    The part of the document it shows.

  • string Title

    The title bar text.

  • (float X, float Y, float Width, float Height) Bounds

    Where it is and how big, in device-independent pixels in desktop space.

  • float DpiScale

    How many physical pixels one device-independent one is on its display.

  • bool IsClosed

    Whether it has been closed.

Events (2)

  • Action<IUiWindow>? CloseRequested

    Raised when the user asks to close it, before anything is destroyed.

  • Action<IUiWindow>? Moved

    Raised after the user has moved or resized it.

Methods (1)

  • void Focus()

    Brings it to the front and asks for keyboard focus.

Used by (8)

  • DockingHostVixen.Ui.Controls.Advanced
  • FakeWindowVixen.Ui.Controls.Advanced.Tests
  • FakeWindowsVixen.Ui.Controls.Advanced.Tests
  • IUiWindowHostVixen.Ui
  • PlatformUiWindowVixen.Platform.Ui
  • PlatformWindowHostVixen.Platform.Ui
  • PlatformWindowHostTestsVixen.Platform.Ui.Tests
  • TornWindowVixen.Ui.Controls.Advanced