8#ifndef SkTiffUtility_codec_DEFINED
9#define SkTiffUtility_codec_DEFINED
60 bool allowTruncated =
false);
102 static bool IsValidType(uint16_t
type);
103 static size_t BytesForType(uint16_t
type);
108 uint16_t ifdNumEntries,
109 uint32_t ifdNextOffset);
115 bool getEntryRawData(uint16_t entryIndex,
119 const uint8_t** outData,
120 size_t* outDataSize)
const;
125 bool getEntryValuesGeneric(uint16_t entryIndex,
134 const bool fLittleEndian;
137 const uint32_t fOffset;
140 const uint16_t fNumEntries;
143 const uint32_t fNextIfdOffset;
sk_sp< SkData > getEntryUndefinedData(uint16_t entryIndex) const
static bool ParseHeader(const SkData *data, bool *outLittleEndian, uint32_t *outIfdOffset)
bool getEntryUnsignedRational(uint16_t entryIndex, uint32_t count, float *values) const
bool getEntrySignedRational(uint16_t entryIndex, uint32_t count, float *values) const
bool getEntryUnsignedShort(uint16_t entryIndex, uint32_t count, uint16_t *values) const
static std::unique_ptr< ImageFileDirectory > MakeFromOffset(sk_sp< SkData > data, bool littleEndian, uint32_t ifdOffset, bool allowTruncated=false)
uint16_t getNumEntries() const
bool getEntryUnsignedLong(uint16_t entryIndex, uint32_t count, uint32_t *values) const
uint32_t nextIfdOffset() const
uint16_t getEntryTag(uint16_t entryIndex) const
constexpr uint8_t kEndianBig[kEndianSize]
constexpr uint16_t kTypeDoubleFloat
constexpr size_t kEndianSize
constexpr uint16_t kTypeUnsignedLong
constexpr uint16_t kTypeSignedLong
constexpr uint16_t kTypeUnsignedShort
constexpr uint16_t kTypeSignedByte
constexpr uint16_t kTypeUndefined
constexpr uint16_t kTypeUnsignedByte
constexpr uint16_t kTypeAsciiString
constexpr uint16_t kTypeSignedShort
constexpr uint16_t kTypeSingleFloat
constexpr uint16_t kTypeSignedRational
constexpr uint8_t kEndianLittle[kEndianSize]
constexpr uint16_t kTypeUnsignedRational
std::shared_ptr< const fml::Mapping > data