Vixen
02b45cc4
csharp
public readonly record struct DockFloat

A group outside the docked arrangement: a window of its own, or a rectangle over it.

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

Remarks

Which of the two it becomes is the document's answer, not this record's. Doc 11 asks the editor for "undock to a separate OS window", and a second window is a second surface, a second swapchain and a second input queue — all of which belong to Vixen.Platform and the application head. IUiWindowHost is the seam that lets this assembly ask for one anyway: with a host installed and able to open windows, DockingHost gives every floating group a real one; without — a browser tab, an Android activity, iOS — it draws the same group as a panel floating inside the host, and the arrangement, the file and the panels are identical either way.

⚠ So the coordinates mean two things, and it is worth saying out loud which. They are the desktop's, in device-independent pixels, when the group has a window; they are the docking host's own when it does not. There is no third answer available — a window position that was not in desktop space would be unusable and a rectangle inside a host that was would be off-screen — and the consequence is that a layout saved on a desktop and reopened in a browser puts its floating panels somewhere arbitrary rather than somewhere wrong-looking-but-considered.

Fields and properties (5)

  • public DockGroupNode Group

    What is in it.

  • public float X

    Where its left edge is.

  • public float Y

    Its top edge.

  • public float Width

    How wide it is.

  • public float Height

    How tall.

Methods (2)

  • public DockFloat(DockGroupNode Group, float X, float Y, float Width, float Height)

    A group outside the docked arrangement: a window of its own, or a rectangle over it.

  • public YamlNode ToYaml()

    Writes it as a YAML node.

Used by (4)

  • DockLayoutVixen.Ui.Controls.Advanced
  • DockingHostVixen.Ui.Controls.Advanced
  • DockingTestsVixen.Ui.Controls.Advanced.Tests
  • DockingWindowTestsVixen.Ui.Controls.Advanced.Tests