TilePanelNode
Namespace: Hex1b
Assembly: Hex1b.dll
Render node for . Manages viewport math, tile fetching, POI positioning, and input bindings.
public sealed class TilePanelNode : Hex1bNode, IDisposableInheritance
Object → Hex1bNode → TilePanelNode
Implements
Properties
CameraX
Camera X position in tile coordinates.
Returns: Double
public double CameraX { get; set; }CameraY
Camera Y position in tile coordinates.
Returns: Double
public double CameraY { get; set; }ContentChild
The reconciled content child node. This is the root of the widget tree built by the tile panel widget.
Returns: Hex1bNode
public Hex1bNode? ContentChild { get; set; }DataSource
The tile data source.
Returns: ITileDataSource
public ITileDataSource? DataSource { get; }IsFocusable
Tile panel nodes are NOT themselves focusable - focus passes through to children.
Returns: Boolean
public override bool IsFocusable { get; }IsFocused
Focus state exists on the content child, not the tile panel node itself.
Returns: Boolean
public override bool IsFocused { get; set; }PointsOfInterest
Points of interest to display on the map.
Returns: IReadOnlyList<TilePointOfInterest>
public IReadOnlyList<TilePointOfInterest> PointsOfInterest { get; }ZoomLevel
Zoom level. 0 = 1x, 1 = 2x, 2 = 4x, etc.
Returns: Int32
public int ZoomLevel { get; set; }Methods
ArrangeCore(Rect)
Override this method to implement arranging logic for this node. The base implementation saves previous bounds, marks dirty on change, and sets bounds.
Parameters:
rect(Rect):
protected override void ArrangeCore(Rect rect)Dispose()
Disposes the tile cache and cancels pending background fetches.
public void Dispose()GetChildren()
Gets the direct children of this node. Used for input routing and tree traversal. Container nodes should override this to return their children.
Returns: IEnumerable<Hex1bNode>
public override IEnumerable<Hex1bNode> GetChildren()GetFocusableNodes()
Gets all focusable nodes in this subtree (including this node if focusable).
Returns: IEnumerable<Hex1bNode>
public override IEnumerable<Hex1bNode> GetFocusableNodes()MeasureCore(Constraints)
Override this method to implement measuring logic for this node.
Parameters:
constraints(Constraints):
Returns: Size
protected override Size MeasureCore(Constraints constraints)Render(Hex1bRenderContext)
Renders the node to the given context.
Parameters:
context(Hex1bRenderContext):
public override void Render(Hex1bRenderContext context)