fix(ui): port retail window control feedback
Map synthetic move and resize affordances to the exact DAT cursors, make chat top chrome movable, and replace stale primary-panel height caps with a dynamic screen-edge constraint. This keeps the retained wrapper adaptation aligned with retail Dragbar/Resizebar behavior.
This commit is contained in:
parent
3f3cfdac30
commit
06016014bc
16 changed files with 578 additions and 27 deletions
|
|
@ -118,6 +118,30 @@ public sealed class RetailWindowManagerTests
|
|||
Assert.Equal(1, resized);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ProgrammaticResize_ConstrainedToParent_UsesCurrentWindowPosition()
|
||||
{
|
||||
var root = new UiRoot { Width = 800, Height = 600 };
|
||||
var frame = new UiPanel
|
||||
{
|
||||
Left = 40,
|
||||
Top = 125,
|
||||
Width = 300,
|
||||
Height = 200,
|
||||
ResizeX = false,
|
||||
ResizeY = true,
|
||||
ConstrainResizeToParent = true,
|
||||
MinHeight = 100,
|
||||
};
|
||||
root.AddChild(frame);
|
||||
RetailWindowHandle handle = root.RegisterWindow("main-panel", frame);
|
||||
|
||||
Assert.True(handle.ResizeTo(frame.Width, 2_000f));
|
||||
|
||||
Assert.Equal(475f, frame.Height);
|
||||
Assert.Equal(root.Height, frame.Top + frame.Height);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FocusAndCaptureTransitions_AreScopedToOwningHandle()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue