Section Header
  
  
    + name        := BMP_HEADER;
  
  
    - comment     := "Mapping BMP Image File Header structure";
  
Section Inherit
  
  
    - parent_object:OBJECT := 
  
Section Mapping
  
  
  
 File Header
  
  
  
    + file_type1:CHARACTER;     
        00h  Must be 'B'
  
    + file_type2:CHARACTER;     
        01h  Must be 'M'  
  
    + file_size:UINTEGER_32;       
        02h  Size of file
  
    + reserved:UINTEGER_32;        
        06h
  
    + map_bitmap_offset:UINTEGER_32;   
        0Ah   Offset of the data section  
  
  
  
 Bitmap Header
  
  
  
    + header_size:UINTEGER_32;     
        0Eh  Size of this header
  
    + map_width:INTEGER;            
        12h  width (in pixel) of the image
  
    + map_height:INTEGER;           
        16h  height (in pixel)
  
    + planes:UINTEGER_16;         
        1Ah  number of planes use (always 1)
  
    + bits_per_pixel:UINTEGER_16; 
        1Ch  number of bits per pixel (1,4,8,16,24,32)
  
    + compression:UINTEGER_32;     
        1Eh  compression method:
  
         0: no compression
  
         1: 8-bit run length encoding
  
         2: 4-bit run length encoding
  
         3: bitfields encoding
  
    + size_of_bitmap:UINTEGER_32;  
        22h  size of image (in octet), useful for compression
  
    + h_resolution:UINTEGER_32;    
        26h  horizontal resolution (in pixel per meter)
  
    + v_resolution:UINTEGER_32;    
        2Ah  vertical resolution (in pixel per meter)
  
    + colors_used:UINTEGER_32;     
        2Eh  number of colors 
  
    + colors_important:UINTEGER_32;
        32h  number of important colors
Section Public  
  
  
    - width :INTEGER <- 
  
    - height:INTEGER <-    
  
    - bitmap_offset:UINTEGER_32 <- 
  
    - file_type:STRING <-
    
  
    - is_valid_bmp:BOOLEAN <-
    
  
    - is_bgr_format:BOOLEAN <-
    
  
    - get_nb_colors:INTEGER <-
    
  
    - is_1bit:BOOLEAN <-
    
  
    - is_4bit:BOOLEAN <-
    
  
    - is_8bit:BOOLEAN <-
    
  
    - is_24bit:BOOLEAN <-
    
  
    - is_rle8_compressed:BOOLEAN <-
    
  
    - print <-