Namespace Icy.Design.Editor.Placement
Classes
- GridPlacement
Places elements in a Grid: a drop lands in the cell under the pointer, and a resize grows or shrinks
Grid.RowSpan/Grid.ColumnSpanas the dragged edge crosses into the next track.
- LayoutMath
Margin and size arithmetic that follows how IcyUI arranges an element inside its slot.
- MarginPlacement
The fallback placement: an element moves by its margin, alignment-aware, and resizes by its size (or, on a stretched axis, by the margin on the dragged side). Used for any container without a registered strategy.
- MarginPlacement.Resize
The size-or-margin resize every strategy builds on.
- MarkupValues
Writes layout values the way people write them in markup.
- PlacementContext
What a placement strategy knows about a container and the element being moved or resized in it. Rectangles are in the container's local space: (0, 0) is the container's top-left corner.
- PlacementRegistry
Chooses the placement strategy for a container: the registration for the most derived of its types, or MarginPlacement when none matches.
- PlacementTarget
Where a dropped element lands in a container.
- StackPanelPlacement
Places elements in a StackPanel: a drop lands in the nearest gap between children, and a resize along the stacking direction changes only the size, since a stack anchors its children there. A stretched child gets an explicit size on the cross axis too: the stack sizes itself to its children, so a margin couldn't grow it.
Structs
- AttributeEdit
One attribute a placement writes or removes.
- AxisResize
The result of resizing one axis.
- PlacementChild
A container's content child as a placement sees it.
Interfaces
- IPlacementStrategy
Turns moves and resizes inside one kind of container into attribute edits: an insertion index for a stack, a cell for a grid, margins for anything else.
- IResizeOperation
One resize gesture in progress. It remembers the element's state when the gesture started, so every update is computed from that state and rounding never accumulates.
Enums
- AxisKind
How an element is positioned on one axis.
- ResizeHandle
The edges a resize handle moves. Corner handles combine two edges.