/// <summary> /// Initializes a new instance of the <see cref="RadHexView"/> class. /// </summary> public RadHexView() { this.DefaultStyleKey = typeof(RadHexView); this.containerGenerator = new HexViewItemUIContainerGenerator(this); this.itemGenerator = new HexItemModelGenerator(this.containerGenerator); this.imageConverter = new ImageConverter(this); }
public HexLayoutStrategyBase(HexItemModelGenerator generator, RadHexView owner, HexLayoutDefinitionBase layoutDefinition) { this.generator = generator; this.owner = owner; this.isVertical = layoutDefinition.Orientation == Orientation.Vertical; this.halfSpacing = Math.Round(layoutDefinition.ItemsSpacing * OppositeSpacingFactor / 2); this.halfOppositeSpacing = Math.Round(layoutDefinition.ItemsSpacing / 2); // used only when calculating the size of the item this.rawItemLength = Math.Round(layoutDefinition.ItemLength); this.rawItemOppositeLength = Math.Round(layoutDefinition.ItemLength * OppositeLengthFactor); this.totalItemLength = layoutDefinition.ItemLength + layoutDefinition.ItemsSpacing * OppositeSpacingFactor; this.totalItemOppositeLength = layoutDefinition.ItemLength * OppositeLengthFactor + layoutDefinition.ItemsSpacing; var extension = this.totalItemLength % 4; var oppositeExtension = this.totalItemOppositeLength % 2; this.totalItemLength += extension != 0 ? 4 - extension : 0; this.totalItemOppositeLength += oppositeExtension != 0 ? 2 - oppositeExtension : 0; this.viewportExtension = layoutDefinition.ViewPortExtension; }
internal override HexLayoutStrategyBase CreateStrategy(HexItemModelGenerator generator, RadHexView view) { return(new FlatLooseHexLayoutStrategy(generator, view, this)); }
public AngledHexLayoutStrategy(HexItemModelGenerator generator, RadHexView owner, AngledHexLayoutDefinition definition) : base(generator, owner, definition) { }
public FlatLooseHexLayoutStrategy(HexItemModelGenerator generator, RadHexView owner, FlatLooseHexLayoutDefinition definition) : base(generator, owner, definition) { }
internal abstract HexLayoutStrategyBase CreateStrategy(HexItemModelGenerator generator, RadHexView view);