OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2008, 2009, Google Inc. All rights reserved. | 2 * Copyright (c) 2008, 2009, Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 #if CPU(BIG_ENDIAN) | 61 #if CPU(BIG_ENDIAN) |
62 result = ((result & 0xff) << 24) | ((result & 0xff00) << 8) | ((result &
0xff0000) >> 8) | ((result & 0xff000000) >> 24); | 62 result = ((result & 0xff) << 24) | ((result & 0xff00) << 8) | ((result &
0xff0000) >> 8) | ((result & 0xff000000) >> 24); |
63 #endif | 63 #endif |
64 return result; | 64 return result; |
65 } | 65 } |
66 | 66 |
67 // |parent| is the decoder that owns us. | 67 // |parent| is the decoder that owns us. |
68 // |startOffset| points to the start of the BMP within the file. | 68 // |startOffset| points to the start of the BMP within the file. |
69 // |buffer| points at an empty ImageFrame that we'll initialize and | 69 // |buffer| points at an empty ImageFrame that we'll initialize and |
70 // fill with decoded data. | 70 // fill with decoded data. |
71 BMPImageReader(ImageDecoder* parent, size_t decodedAndHeaderOffset, size_t i
mgDataOffset, bool m_isInICO); | 71 BMPImageReader(ImageDecoder* parent, size_t decodedAndHeaderOffset, size_t i
mgDataOffset, bool isInICO); |
72 | 72 |
73 void setBuffer(ImageFrame* buffer) { m_buffer = buffer; } | 73 void setBuffer(ImageFrame* buffer) { m_buffer = buffer; } |
74 void setData(SharedBuffer* data) { m_data = data; } | 74 void setData(SharedBuffer* data) { m_data = data; } |
75 | 75 |
76 // Does the actual decoding. If |onlySize| is true, decoding only | 76 // Does the actual decoding. If |onlySize| is true, decoding only |
77 // progresses as far as necessary to get the image size. Returns | 77 // progresses as far as necessary to get the image size. Returns |
78 // whether decoding succeeded. | 78 // whether decoding succeeded. |
79 bool decodeBMP(bool onlySize); | 79 bool decodeBMP(bool onlySize); |
80 | 80 |
81 private: | 81 private: |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
345 // ICOs store a 1bpp "mask" immediately after the main bitmap image data | 345 // ICOs store a 1bpp "mask" immediately after the main bitmap image data |
346 // (and, confusingly, add its height to the biHeight value in the info | 346 // (and, confusingly, add its height to the biHeight value in the info |
347 // header, thus doubling it). If |m_isInICO| is true, this variable tracks | 347 // header, thus doubling it). If |m_isInICO| is true, this variable tracks |
348 // whether we've begun decoding this mask yet. | 348 // whether we've begun decoding this mask yet. |
349 bool m_decodingAndMask; | 349 bool m_decodingAndMask; |
350 }; | 350 }; |
351 | 351 |
352 } // namespace WebCore | 352 } // namespace WebCore |
353 | 353 |
354 #endif | 354 #endif |
OLD | NEW |