anchor.diff:    protected
       // tile generation
       function GenerateTileCalc(const aExtent: TExtent; aBitmap: FMX.Graphics.TBitmap; aPixelWidth, aPixelHeight: Double): TGenerateTileStatus; override;
  +    procedure UpdateBufferExtent(const aExtent: TExtent; capacityFactor, aPixelWidth, aPixelHeight: Double; var bufferExtent: TExtent);
       procedure DrawDefaultPath(path: TPathData; aBitmap: FMX.Graphics.TBitmap);
       function CalculateWidth(aActiveValue, aRefValue: Double; var aValidFlag: Boolean): Double; Virtual;
       function GetPaletteColor(aActiveTexture, aRefTexture: Double; var aValidFlag: Boolean): TGeoColors;
  
positive.code:       aBitmap.Canvas.Clear(0);
        aBitmap.Canvas.Fill.Kind := TBrushKind.Solid;
        capacityFactor := IfThen((aExtent.YMax <> aExtent.YMin), 0.001/Abs(aExtent.YMax-aExtent.YMin), 0);
        bufferExtent := aExtent.Inflate(1.3);
        fCurrentSlice.fDataLock.BeginRead;
        fRefSlice.fDataLock.BeginRead;
        try
  
negative.code:       aBitmap.Canvas.Clear(0);
        aBitmap.Canvas.Fill.Kind := TBrushKind.Solid;
        capacityFactor := IfThen((aExtent.YMax <> aExtent.YMin), 0.001/Abs(aExtent.YMax-aExtent.YMin), 0);
        UpdateBufferExtent(aExtent, capacityFactor, aPixelWidth, aPixelHeight, bufferExtent);
        fCurrentSlice.fDataLock.BeginRead;
        fRefSlice.fDataLock.BeginRead;
        try
  