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::bimId_[] = "8BIM";
const uint16_t Photoshop::iptc_ = 0x0404;
const uint16_t Photoshop::preview_ = 0x040c;
bool Photoshop::valid(const byte* pPsData,
long sizePsData)
@ -197,6 +198,16 @@ namespace Exiv2 {
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,
long sizePsData,
const IptcData& iptcData)

@ -66,6 +66,7 @@ namespace Exiv2 {
static const char ps3Id_[]; //!< %Photoshop marker
static const char bimId_[]; //!< %Photoshop marker
static const uint16_t iptc_; //!< %Photoshop IPTC marker
static const uint16_t preview_; //!< %Photoshop preview marker
/*!
@brief Validates all IRBs
@ -108,6 +109,14 @@ namespace Exiv2 {
const byte **record,
uint32_t *const sizeHdr,
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
IPTC block if there is no new IPTC data to write.

Loading…
Cancel
Save