//
// Copyright (c) James Jackson-South and contributors.
// Licensed under the Apache License, Version 2.0.
//
namespace ImageSharp.Formats
{
///
/// This block of bytes tells the application detailed information
/// about the image, which will be used to display the image on
/// the screen.
///
///
internal class BmpInfoHeader
{
///
/// Defines of the data structure in the bitmap file.
///
public const int Size = 40;
///
/// Gets or sets the size of this header (40 bytes)
///
public int HeaderSize { get; set; }
///
/// Gets or sets the bitmap width in pixels (signed integer).
///
public int Width { get; set; }
///
/// Gets or sets the bitmap height in pixels (signed integer).
///
public int Height { get; set; }
///
/// Gets or sets the number of color planes being used. Must be set to 1.
///
public short Planes { get; set; }
///
/// Gets or sets the number of bits per pixel, which is the color depth of the image.
/// Typical values are 1, 4, 8, 16, 24 and 32.
///
public short BitsPerPixel { get; set; }
///
/// Gets or sets the compression method being used.
/// See the next table for a list of possible values.
///
public BmpCompression Compression { get; set; }
///
/// Gets or sets the image size. This is the size of the raw bitmap data (see below),
/// and should not be confused with the file size.
///
public int ImageSize { get; set; }
///
/// Gets or sets the horizontal resolution of the image.
/// (pixel per meter, signed integer)
///
public int XPelsPerMeter { get; set; }
///
/// Gets or sets the vertical resolution of the image.
/// (pixel per meter, signed integer)
///
public int YPelsPerMeter { get; set; }
///
/// Gets or sets the number of colors in the color palette,
/// or 0 to default to 2^n.
///
public int ClrUsed { get; set; }
///
/// Gets or sets the number of important colors used,
/// or 0 when every color is important{ get; set; } generally ignored.
///
public int ClrImportant { get; set; }
}
}