anchor.diff:    decode:pDmtxDecode;
     image:PDmtxImage;
     region: pDmtxRegion;
  -  p0,p1: DmtxPixelLoc;
     msg:pDmtxMessage;
  -  PageScanCount: Integer;
     timeout: pDmtxTime;
   
   begin
  
positive.code:   try
      if SetDecodeOptions(decode,image,options) then
      begin
        PageScanCount:=0;
        timeout:=nil;
        if options.timeoutMS>0 then
        begin
  
negative.code:   srcrowsize:=fImage.width*SizeOf(TRGBTriple);
    for row := 0 to Image.height - 1 do
    begin
      source:=pointer(cardinal(fImage.pxl)+(Cardinal(fOptions.xMin)*Sizeof(TRGBTriple))+(row+cardinal(fImage.height-options.yMax))*srcrowsize);
      destination:=pointer(cardinal(Image.pxl)+row*destrowsize);
      Move(source^,destination^,destrowsize);
    end;
  