unit uBitMap;

      {=================================================================}
      {                                                                 }
      {  SW pro terminaly SofCon                V2.51   17.03.2003 Bu   }
      {                                                                 }
      {  Zakladni typy pro praci s BMP                                  }
      {                                                                 }
      {  (C) 1996-1997, SofCon s.r.o., Stresovicka 49, Praha 6          }
      {                 Vypracoval: R.Bukovsky                          }
      {=================================================================}

{ $I Sets.inc}

interface
const
  cVerNo = $0251; { BCD format }
  cVer   = '02.51,17.03.2003';


{ Bitmap header definition }

type
  PBitmap = ^TBitmap;
  TBitmap = record
    bmType       :integer;
    bmWidth      :integer;
    bmHeight     :integer;
    bmWidthBytes :integer;
    bmPlanes     :byte;
    bmBitsPixel  :byte;
    bmBits       :pointer;
  end;

type
  TRGBTriple = record
    rgbtBlue    :byte;
    rgbtGreen   :byte;
    rgbtRed     :byte;
  end;

type
  TRGBQuad = record
    rgbBlue    :byte;
    rgbGreen   :byte;
    rgbRed     :byte;
    rgbReserved:byte;
  end;


{ Structures for defining DIBs }

type
  PBitmapCoreHeader = ^TBitmapCoreHeader;
  TBitmapCoreHeader = record
    bcSize     :longint;              { used to get to color table }
    bcWidth    :word;
    bcHeight   :word;
    bcPlanes   :word;
    bcBitCount :word;
  end;

type
  PBitmapInfoHeader = ^TBitmapInfoHeader;
  TBitmapInfoHeader = record
    biSize         :longint;
    biWidth        :longint;
    biHeight       :longint;
    biPlanes       :word;
    biBitCount     :word;
    biCompression  :longint;
    biSizeImage    :longint;
    biXPelsPerMeter:longint;
    biYPelsPerMeter:longint;
    biClrUsed      :longint;
    biClrImportant :longint;
  end;

{ Constants for the biCompression field }

const
  bi_RGB  = 0;
  bi_RLE8 = 1;
  bi_RLE4 = 2;

type
  PBitmapInfo = ^TBitmapInfo;
  TBitmapInfo = record
    bmiHeader :TBitmapInfoHeader;
    bmiColors :array[0..0] of TRGBQuad;
  end;

type
  PBitmapCoreInfo = ^TBitmapCoreInfo;
  TBitmapCoreInfo = record
    bmciHeader :TBitmapCoreHeader;
    bmciColors :array[0..0] of TRGBTriple;
  end;

type
  PBitmapFileHeader = ^TBitmapFileHeader;
  TBitmapFileHeader = record
    bfType      :word;
    bfSize      :longint;
    bfReserved1 :word;
    bfReserved2 :word;
    bfOffBits   :longint;
  end;

{======================================================================================}
{              Typy pouzivane v SW pro terminaly SofCon                                }
{======================================================================================}
tBmpImageType   =
           (bmpit_VideoRWM,       { 1:1 obsah VideoRWM }
            bmpit_RLE1_VideoRWM); { Run-Length Encoded format for commpressed VideoRWM }

pBmpHeader      =^tBmpHeader;
tBmpHeader      = record
  bhdSize       :word;          { delka tBmpHeader = offset pocatku BmpImage }
  bhdType       :tBmpImageType; { typ zakodovani BMP v bloku za touto hlavickou }
  bhdWidth      :word;          { sirka BMP v pixel }
  bhdHeight     :word;          { vyska BMP v pixel }
end;



{######################################################################################}
implementation
