예제 #1
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;
        }
예제 #2
0
 public HexViewItemUIContainerGenerator(RadHexView owner)
 {
     this.owner = owner;
 }
 internal override HexLayoutStrategyBase CreateStrategy(HexItemModelGenerator generator, RadHexView view)
 {
     return(new FlatLooseHexLayoutStrategy(generator, view, this));
 }
예제 #4
0
 public AngledHexLayoutStrategy(HexItemModelGenerator generator, RadHexView owner, AngledHexLayoutDefinition definition)
     : base(generator, owner, definition)
 {
 }
예제 #5
0
 public FlatLooseHexLayoutStrategy(HexItemModelGenerator generator, RadHexView owner, FlatLooseHexLayoutDefinition definition)
     : base(generator, owner, definition)
 {
 }
예제 #6
0
 public ImageConverter(RadHexView owner)
 {
     this.owner = owner;
 }
예제 #7
0
 internal abstract HexLayoutStrategyBase CreateStrategy(HexItemModelGenerator generator, RadHexView view);
 /// <summary>
 /// Initializes a new instance of the RadHexViewAutomationPeer class.
 /// </summary>
 /// <param name="owner">The RadHexView that is associated with this RadHexViewAutomationPeer.</param>
 public RadHexViewAutomationPeer(RadHexView owner)
     : base(owner)
 {
 }