Esempio n. 1
0
 /// <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);
 }
Esempio n. 2
0
        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)
 {
 }
Esempio n. 5
0
 public FlatLooseHexLayoutStrategy(HexItemModelGenerator generator, RadHexView owner, FlatLooseHexLayoutDefinition definition)
     : base(generator, owner, definition)
 {
 }
Esempio n. 6
0
 internal abstract HexLayoutStrategyBase CreateStrategy(HexItemModelGenerator generator, RadHexView view);