VirtualBox

Ignore:
Timestamp:
Dec 19, 2024 1:21:50 AM (6 weeks ago)
Author:
vboxsync
Message:

VBoxDumpImage.exe: Added a quick and dirty icon file structure dumper alongside the executable image dumpers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/formats/bmp.h

    r106061 r107375  
    5656#define BMP_HDR_SIZE_OS22      64
    5757#define BMP_HDR_SIZE_WIN3X     40
     58#define BMP_HDR_SIZE_NT4       108
     59#define BMP_HDR_SIZE_W2K       124
    5860/** @} */
    5961
     
    178180typedef BMPWIN3XINFOHDR *PBMPWIN3XINFOHDR;
    179181
     182typedef struct BMPWINCIEXYZ
     183{
     184    int32_t     x, y, z;
     185} BMPWINCIEXYZ;
     186AssertCompileSize(BMPWINCIEXYZ, 12);
     187
     188typedef struct BMPWINCIEXYZTRIPLE
     189{
     190    BMPWINCIEXYZ Red, Green, Blue;
     191} BMPWINCIEXYZTRIPLE;
     192AssertCompileSize(BMPWINCIEXYZTRIPLE, 36);
     193
     194typedef struct BMPWINV4INFOHDR
     195{
     196    uint32_t    cbSize;
     197    int32_t     cx;
     198    int32_t     cy;
     199    uint16_t    cPlanes;
     200    uint16_t    cBits;
     201    uint32_t    enmCompression; /**< Differs from BMPWIN3XINFOHDR::enmCompression? */
     202    uint32_t    cbImage;
     203    int32_t     cXPelsPerMeter;
     204    int32_t     cYPelsPerMeter;
     205    uint32_t    cColorsUsed;
     206    uint32_t    cColorsImportant;
     207    /* New v4 fields: */
     208    uint32_t    fRedMask;
     209    uint32_t    fGreenMask;
     210    uint32_t    fBlueMask;
     211    uint32_t    fAlphaMask;
     212    uint32_t    enmCSType;
     213    BMPWINCIEXYZTRIPLE Endpoints;
     214    uint32_t    uGammaRed;
     215    uint32_t    uGammaGreen;
     216    uint32_t    uGammaBlue;
     217} BMPWINV4INFOHDR;
     218AssertCompileSize(BMPWINV4INFOHDR, BMP_HDR_SIZE_NT4);
     219
     220typedef struct BMPWINV5INFOHDR
     221{
     222    uint32_t    cbSize;
     223    int32_t     cx;
     224    int32_t     cy;
     225    uint16_t    cPlanes;
     226    uint16_t    cBits;
     227    uint32_t    enmCompression; /**< Differs from BMPWIN3XINFOHDR::enmCompression? */
     228    uint32_t    cbImage;
     229    int32_t     cXPelsPerMeter;
     230    int32_t     cYPelsPerMeter;
     231    uint32_t    cColorsUsed;
     232    uint32_t    cColorsImportant;
     233    /* New v4 fields: */
     234    uint32_t    fRedMask;
     235    uint32_t    fGreenMask;
     236    uint32_t    fBlueMask;
     237    uint32_t    fAlphaMask;
     238    uint32_t    enmCSType;
     239    BMPWINCIEXYZTRIPLE Endpoints;
     240    uint32_t    uGammaRed;
     241    uint32_t    uGammaGreen;
     242    uint32_t    uGammaBlue;
     243    /* New v5 fields: */
     244    uint32_t    fIntent;
     245    uint32_t    offProfileData;
     246    uint32_t    cbProfileData;
     247    uint32_t    uReserved;
     248} BMPWINV5INFOHDR;
     249AssertCompileSize(BMPWINV5INFOHDR, BMP_HDR_SIZE_W2K);
     250
    180251
    181252
    182253/** @name BMP compression types.
    183254 * @{  */
    184 #define BMP_COMPRESSION_TYPE_NONE  0
    185 #define BMP_COMPRESSION_TYPE_RLE8  1
    186 #define BMP_COMPRESSION_TYPE_RLE4  2
     255#define BMP_COMPRESSION_TYPE_NONE               0
     256#define BMP_COMPRESSION_TYPE_RLE8               1
     257#define BMP_COMPRESSION_TYPE_RLE4               2
     258#define BMP_COMPRESSION_TYPE_BITFIELDS          3
     259#define BMP_COMPRESSION_TYPE_JPEG               4
     260#define BMP_COMPRESSION_TYPE_PNG                5
     261#define BMP_COMPRESSION_TYPE_ALPHABITFIELDS     6
     262#define BMP_COMPRESSION_TYPE_CMYK               11
     263#define BMP_COMPRESSION_TYPE_CMYKRLE8           12
     264#define BMP_COMPRESSION_TYPE_CMYKRLE4           13
    187265/** @} */
    188266
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette