Helper class, has methods to deal with Photoshop "Information
Resource Blocks" (IRBs).
More...
#include <jpgimage.hpp>
|
static bool | isIrb (const byte *pPsData, long sizePsData) |
| Checks an IRB. More...
|
|
static bool | valid (const byte *pPsData, long sizePsData) |
| Validates all IRBs. More...
|
|
static int | locateIrb (const byte *pPsData, long sizePsData, uint16_t psTag, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData) |
| Locates the data for a Photoshop tag in a Photoshop formated memory buffer. Operates on raw data to simplify reuse. More...
|
|
static int | locateIptcIrb (const byte *pPsData, long sizePsData, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData) |
| Forwards to locateIrb() with psTag = iptc_.
|
|
static int | locatePreviewIrb (const byte *pPsData, long sizePsData, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData) |
| Forwards to locatePreviewIrb() with psTag = preview_.
|
|
static DataBuf | setIptcIrb (const byte *pPsData, long sizePsData, const IptcData &iptcData) |
| Set the new IPTC IRB, keeps existing IRBs but removes the IPTC block if there is no new IPTC data to write. More...
|
|
|
static const char | ps3Id_ [] |
| Photoshop marker
|
|
static const char * | irbId_ [] |
| Photoshop IRB markers
|
|
static const char | bimId_ [] |
| Photoshop IRB marker (deprecated)
|
|
static const uint16_t | iptc_ |
| Photoshop IPTC marker
|
|
static const uint16_t | preview_ |
| Photoshop preview marker
|
|
Helper class, has methods to deal with Photoshop "Information
Resource Blocks" (IRBs).
◆ isIrb()
static bool Exiv2::Photoshop::isIrb |
( |
const byte * |
pPsData, |
|
|
long |
sizePsData |
|
) |
| |
|
static |
Checks an IRB.
- Parameters
-
pPsData | Existing IRB buffer |
sizePsData | Size of the IRB buffer |
- Returns
- true if the IRB marker is known and the buffer is big enough to check this;
false otherwise
◆ locateIrb()
static int Exiv2::Photoshop::locateIrb |
( |
const byte * |
pPsData, |
|
|
long |
sizePsData, |
|
|
uint16_t |
psTag, |
|
|
const byte ** |
record, |
|
|
uint32_t *const |
sizeHdr, |
|
|
uint32_t *const |
sizeData |
|
) |
| |
|
static |
Locates the data for a Photoshop tag in a Photoshop formated memory buffer. Operates on raw data to simplify reuse.
- Parameters
-
pPsData | Pointer to buffer containing entire payload of Photoshop formated data, e.g., from APP13 Jpeg segment. |
sizePsData | Size in bytes of pPsData. |
psTag | Tag number of the block to look for. |
record | Output value that is set to the start of the data block within pPsData (may not be null). |
sizeHdr | Output value that is set to the size of the header within the data block pointed to by record (may not be null). |
sizeData | Output value that is set to the size of the actual data within the data block pointed to by record (may not be null). |
- Returns
- 0 if successful;
3 if no data for psTag was found in pPsData;
-2 if the pPsData buffer does not contain valid data.
◆ setIptcIrb()
static DataBuf Exiv2::Photoshop::setIptcIrb |
( |
const byte * |
pPsData, |
|
|
long |
sizePsData, |
|
|
const IptcData & |
iptcData |
|
) |
| |
|
static |
Set the new IPTC IRB, keeps existing IRBs but removes the IPTC block if there is no new IPTC data to write.
- Parameters
-
pPsData | Existing IRB buffer |
sizePsData | Size of the IRB buffer, may be 0 |
iptcData | Iptc data to embed, may be empty |
- Returns
- A data buffer containing the new IRB buffer, may have 0 size
◆ valid()
static bool Exiv2::Photoshop::valid |
( |
const byte * |
pPsData, |
|
|
long |
sizePsData |
|
) |
| |
|
static |
Validates all IRBs.
- Parameters
-
pPsData | Existing IRB buffer |
sizePsData | Size of the IRB buffer, may be 0 |
- Returns
- true if all IRBs are valid;
false otherwise
The documentation for this struct was generated from the following file: