image/src/ICOFileHeaders.h
author Andrea Marchesini <amarchesini@mozilla.com>
Tue, 05 Feb 2013 18:17:17 -0500
changeset 131622 7f82f74de11f43c1b7b11187b82339f92263dd69
parent 108991 a16372ce30b5f6b747246b01fcd215a4bf3b6342
child 212689 b2b57ebbe690ca8528fae4f2388c475987982791
permissions -rw-r--r--
Bug 813253 - URL.createobjectURL in WebWorker. r=bent

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


#ifndef MOZILLA_IMAGELIB_ICOHEADERS_H_
#define MOZILLA_IMAGELIB_ICOHEADERS_H_

namespace mozilla {
  namespace image {

    #define ICONFILEHEADERSIZE 6
    #define ICODIRENTRYSIZE 16
    #define PNGSIGNATURESIZE 8
    #define BMPFILEHEADERSIZE 14

    struct IconFileHeader
    {
      uint16_t   mReserved;
      uint16_t   mType;
      uint16_t   mCount;
    };

    struct IconDirEntry
    {
      uint8_t   mWidth;
      uint8_t   mHeight;
      uint8_t   mColorCount;
      uint8_t   mReserved;
      union {
        uint16_t mPlanes;   // ICO
        uint16_t mXHotspot; // CUR
      };
      union {
        uint16_t mBitCount; // ICO
        uint16_t mYHotspot; // CUR
      };
      uint32_t  mBytesInRes;
      uint32_t  mImageOffset;
    };


  } // namespace image
} // namespace mozilla

#endif