Ejemplo n.º 1
0
        public override IDataFormat CreateDataFormat(IDataModel data, int index)
        {
            var inner = ITableRunExtensions.CreateSegmentDataFormat(this, data, index);

            if (index > lastFormatCreated)
            {
                lastFormatCreated = index;
                return(inner);
            }

            if ((index - Start) % ElementLength != 0)
            {
                return(inner);
            }
            var address = data.GetAddressFromAnchor(new NoDataChangeDeltaModel(), -1, TilemapAnchor);
            var run     = data.GetNextRun(address) as ITilemapRun;
            var pixels  = data.CurrentCacheScope.GetImage(run);

            if (pixels == null)
            {
                return(inner);
            }

            var missingTopRows = (index - Start) / ElementLength;

            pixels            = Crop(pixels, -Margins.Left * 8, -Margins.Top * 8, -Margins.Right * 8, -Margins.Bottom * 8);
            pixels            = DuplicateDown(pixels, Margins.LengthMultiplier);
            pixels            = Crop(pixels, 0, missingTopRows * 8, 0, 0);
            lastFormatCreated = index;
            return(new SpriteDecorator(inner, pixels, pixels.PixelWidth / 8, pixels.PixelHeight / 8));
        }
Ejemplo n.º 2
0
 public void AppendTo(IDataModel model, StringBuilder builder, int start, int length, bool deep)
 {
     ITableRunExtensions.AppendTo(this, model, builder, start, length, deep);
     if (start + length >= Start + Length && endStream is EndCodeStreamStrategy)
     {
         builder.Append(Environment.NewLine + "[]");
     }
 }
Ejemplo n.º 3
0
 public void AppendTo(IDataModel model, StringBuilder builder, int start, int length, bool deep) => ITableRunExtensions.AppendTo(this, model, builder, start, length, deep);
Ejemplo n.º 4
0
 public override IDataFormat CreateDataFormat(IDataModel data, int index) => ITableRunExtensions.CreateSegmentDataFormat(this, data, index);
Ejemplo n.º 5
0
 public IEnumerable <(int, int)> Search(string baseName, int index)
 {
     return(ITableRunExtensions.Search(this, model, baseName, index));
 }
Ejemplo n.º 6
0
 public void Clear(IDataModel model, ModelDelta changeToken, int start, int length)
 {
     ITableRunExtensions.Clear(this, model, changeToken, start, length);
 }
Ejemplo n.º 7
0
 public bool DependsOn(string anchorName)
 {
     return(ITableRunExtensions.DependsOn(this, anchorName));
 }