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

This commit is contained in:
vog
2011-07-18 15:24:38 +00:00
parent 72bdc994f0
commit b30f73cb0b
2 changed files with 20 additions and 0 deletions
+11
View File
@@ -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)
+9
View File
@@ -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.