Added helper function Photoshop::locatePreviewIrb() which is needed for native previews of Photoshop EPS files

v0.27.3
vog 14 years ago
parent 72bdc994f0
commit b30f73cb0b

@ -88,6 +88,7 @@ namespace Exiv2 {
const char Photoshop::ps3Id_[] = "Photoshop 3.0\0"; const char Photoshop::ps3Id_[] = "Photoshop 3.0\0";
const char Photoshop::bimId_[] = "8BIM"; const char Photoshop::bimId_[] = "8BIM";
const uint16_t Photoshop::iptc_ = 0x0404; const uint16_t Photoshop::iptc_ = 0x0404;
const uint16_t Photoshop::preview_ = 0x040c;
bool Photoshop::valid(const byte* pPsData, bool Photoshop::valid(const byte* pPsData,
long sizePsData) long sizePsData)
@ -197,6 +198,16 @@ namespace Exiv2 {
record, sizeHdr, sizeData); record, sizeHdr, sizeData);
} }
int Photoshop::locatePreviewIrb(const byte* pPsData,
long sizePsData,
const byte** record,
uint32_t *const sizeHdr,
uint32_t *const sizeData)
{
return locateIrb(pPsData, sizePsData, preview_,
record, sizeHdr, sizeData);
}
DataBuf Photoshop::setIptcIrb(const byte* pPsData, DataBuf Photoshop::setIptcIrb(const byte* pPsData,
long sizePsData, long sizePsData,
const IptcData& iptcData) const IptcData& iptcData)

@ -66,6 +66,7 @@ namespace Exiv2 {
static const char ps3Id_[]; //!< %Photoshop marker static const char ps3Id_[]; //!< %Photoshop marker
static const char bimId_[]; //!< %Photoshop marker static const char bimId_[]; //!< %Photoshop marker
static const uint16_t iptc_; //!< %Photoshop IPTC marker static const uint16_t iptc_; //!< %Photoshop IPTC marker
static const uint16_t preview_; //!< %Photoshop preview marker
/*! /*!
@brief Validates all IRBs @brief Validates all IRBs
@ -108,6 +109,14 @@ namespace Exiv2 {
const byte **record, const byte **record,
uint32_t *const sizeHdr, uint32_t *const sizeHdr,
uint32_t *const sizeData); uint32_t *const sizeData);
/*!
@brief Forwards to locatePreviewIrb() with \em psTag = \em preview_
*/
static int locatePreviewIrb(const byte *pPsData,
long sizePsData,
const byte **record,
uint32_t *const sizeHdr,
uint32_t *const sizeData);
/*! /*!
@brief Set the new IPTC IRB, keeps existing IRBs but removes the @brief Set the new IPTC IRB, keeps existing IRBs but removes the
IPTC block if there is no new IPTC data to write. IPTC block if there is no new IPTC data to write.

Loading…
Cancel
Save