fix(D.2b): correct edge-anchor mapping (RightEdge==1=stretch) + enable vitals horizontal resize
ToAnchors was inverted vs retail UIElement::UpdateForParentSizeChange @0x00462640: stretch is RightEdge==1 (not ==2/==4), LeftEdge==2 = track-right. Verified against all 19 vitals fixture pieces. Enables Resizable/ResizeX on the importer vitals root (the prior 'dat is fixed-size' conclusion was wrong). At-rest render unchanged (anchors only fire on resize). Added a 160->200 resize conformance test. Also fixed DatWidgetFactoryTests.RectAndAnchors_SetFromElementInfo which encoded the old inverted model (Right=2 expecting Right anchor; corrected to Right=1). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
825536a2bd
commit
8aa643f3e0
6 changed files with 174 additions and 105 deletions
|
|
@ -36,10 +36,11 @@ public class DatWidgetFactoryTests
|
|||
// ── Test 4: Rect + anchors set from ElementInfo ───────────────────────────
|
||||
|
||||
/// <summary>
|
||||
/// A Type-3 element with X=5,Y=21,W=150,H=16, Left=1,Top=1,Right=2 should have
|
||||
/// A Type-3 element with X=5,Y=21,W=150,H=16, Left=1,Top=1,Right=1 should have
|
||||
/// its rect + anchors copied onto the returned widget.
|
||||
/// Left=1 (near-pin → AnchorEdges.Left), Top=1 (near-pin → AnchorEdges.Top),
|
||||
/// Right=2 (far-pin → AnchorEdges.Right), Bottom=0 (no anchor → neither).
|
||||
/// Per UIElement::UpdateForParentSizeChange @0x00462640:
|
||||
/// Left=1 → AnchorEdges.Left (near-pin); Top=1 → AnchorEdges.Top;
|
||||
/// Right=1 → AnchorEdges.Right (stretch / track parent right); Bottom=0 → neither.
|
||||
/// Combined: Left | Top | Right.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
|
|
@ -51,7 +52,7 @@ public class DatWidgetFactoryTests
|
|||
X = 5, Y = 21,
|
||||
Width = 150, Height = 16,
|
||||
Left = 1, Top = 1,
|
||||
Right = 2, Bottom = 0,
|
||||
Right = 1, Bottom = 0,
|
||||
};
|
||||
var e = DatWidgetFactory.Create(info, NoTex, null)!;
|
||||
Assert.Equal(5f, e.Left);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue