| 232 | } // PgfImage::readPgfMagicNumber |
| 233 | |
| 234 | size_t PgfImage::readPgfHeaderSize(BasicIo& iIo) const { |
| 235 | DataBuf buffer(4); |
| 236 | const size_t bufRead = iIo.read(buffer.data(), buffer.size()); |
| 237 | if (iIo.error()) |
| 238 | throw Error(ErrorCode::kerFailedToReadImageData); |
| 239 | if (bufRead != buffer.size()) |
| 240 | throw Error(ErrorCode::kerInputDataReadFailed); |
| 241 | |
| 242 | auto headerSize = static_cast<size_t>(byteSwap_(buffer, 0, bSwap_)); |
| 243 | if (headerSize == 0) |
| 244 | throw Error(ErrorCode::kerNoImageInInputData); |
| 245 | |
| 246 | #ifdef EXIV2_DEBUG_MESSAGES |
| 247 | std::cout << "Exiv2::PgfImage: PGF header size : " << headerSize << " bytes\n"; |
| 248 | #endif |
| 249 | |
| 250 | return headerSize; |
| 251 | } |
| 252 | |
| 253 | DataBuf PgfImage::readPgfHeaderStructure(BasicIo& iIo, uint32_t& width, uint32_t& height) const { |
| 254 | DataBuf header(16); |