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 <-