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
|
|
@ -546,6 +546,10 @@ public sealed class RetailUiRuntime : IDisposable
|
|||
MinWidth = 200f,
|
||||
ResizeX = true,
|
||||
ResizeY = true,
|
||||
// The imported 9px top Resizebar is deliberately removed by
|
||||
// ChatWindowController. Its replacement top chrome is the move
|
||||
// affordance; only the other three wrapper edges resize.
|
||||
ResizableEdges = ResizeEdges.Left | ResizeEdges.Right | ResizeEdges.Bottom,
|
||||
Opacity = 0.75f,
|
||||
Controller = controller,
|
||||
StateController = controller,
|
||||
|
|
@ -798,10 +802,12 @@ public sealed class RetailUiRuntime : IDisposable
|
|||
Left = 18f,
|
||||
Top = 18f,
|
||||
Visible = false,
|
||||
Resizable = false,
|
||||
ResizeX = false,
|
||||
ResizeY = false,
|
||||
ResizeY = true,
|
||||
ResizableEdges = ResizeEdges.Bottom,
|
||||
ConstrainDragToParent = true,
|
||||
ConstrainResizeToParent = true,
|
||||
ContentAnchors = AnchorEdges.Left | AnchorEdges.Top | AnchorEdges.Bottom,
|
||||
ContentClickThrough = false,
|
||||
Controller = controller,
|
||||
});
|
||||
|
|
@ -1147,10 +1153,10 @@ public sealed class RetailUiRuntime : IDisposable
|
|||
Chrome = RetailWindowChrome.NineSlice,
|
||||
Left = 540f,
|
||||
Top = 18f,
|
||||
MaxHeight = 760f,
|
||||
ResizeX = false,
|
||||
ResizeY = true,
|
||||
ResizableEdges = ResizeEdges.Bottom,
|
||||
ConstrainResizeToParent = true,
|
||||
Visible = false,
|
||||
ContentAnchors = AnchorEdges.Left | AnchorEdges.Top | AnchorEdges.Bottom,
|
||||
ContentClickThrough = false,
|
||||
|
|
@ -1233,11 +1239,7 @@ public sealed class RetailUiRuntime : IDisposable
|
|||
ResizeX = false,
|
||||
ResizeY = true,
|
||||
ResizableEdges = ResizeEdges.Bottom,
|
||||
// The old 560px cap left a previously expanded window permanently
|
||||
// parked at its maximum. Let it grow to the available screen height.
|
||||
MaxHeight = Math.Max(
|
||||
root.Height + 2f * RetailChromeSprites.Border,
|
||||
Host.Root.Height - root.Top),
|
||||
ConstrainResizeToParent = true,
|
||||
ContentAnchors = AnchorEdges.Left | AnchorEdges.Top | AnchorEdges.Bottom,
|
||||
});
|
||||
_panelUi.RegisterMainPanel(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue