anchor.diff:      AR.Free;
     end;
   
  -{$ifdef LCL}
  -{$else}
   var
     OldPal: HPalette;
     DC: HDC;
  
positive.code:   Image: AllocRec;
    ImageSize: DWord;
    InfoSize: DWord;
  {$endif}
  begin
  {$ifdef LCL}
    Canvas.StretchDraw(Rect(X, Y, W, H), Bitmap);
  {$else}
    if (Bitmap = nil) or (Bitmap.Handle = 0) then
      Exit;
    DC := Canvas.Handle;
  
negative.code: 
  procedure PrintBitmap(Canvas: TCanvas; X, Y, W, H: Integer; Bitmap: TBitmap);
  {Y relative to top of display here}
  {$ifdef LCL}
  begin
    Canvas.StretchDraw(Rect(X, Y, X + W, Y + H), Bitmap);
  {$else}
    function Allocate(Size: Integer): AllocRec;
    begin
      Result := AllocRec.Create;
  