Exiv2
Toggle main menu visibility
Loading...
Searching...
No Matches
src
cr2header_int.hpp
1
// SPDX-License-Identifier: GPL-2.0-or-later
2
10
#ifndef EXIV2_CR2HEADER_INT_HPP
11
#define EXIV2_CR2HEADER_INT_HPP
12
13
// *****************************************************************************
14
// included header files
15
#include "tiffimage_int.hpp"
16
17
// *****************************************************************************
18
// namespace extensions
19
namespace
Exiv2::Internal
{
20
// *****************************************************************************
21
// class definitions
22
24
class
Cr2Header
:
public
TiffHeaderBase
{
25
public
:
27
28
29
explicit
Cr2Header
(
ByteOrder
byteOrder
= littleEndian);
31
33
34
bool
read
(
const
byte
* pData,
size_t
size
)
override
;
36
38
39
[[nodiscard]]
DataBuf
write
()
const override
;
40
bool
isImageTag
(uint16_t
tag
,
IfdId
group,
const
PrimaryGroups
* pPrimaryGroups)
const override
;
42
44
static
uint32_t
offset2addr
() {
45
return
12;
46
}
47
48
private
:
49
// DATA
50
uint32_t offset2_{0x00000000};
51
static
constexpr
auto
cr2sig_ =
"CR\2\0"
;
52
};
53
54
}
// namespace Exiv2::Internal
55
56
#endif
// EXIV2_CR2HEADER_INT_HPP
Exiv2::Internal::Cr2Header::read
bool read(const byte *pData, size_t size) override
Read the image header from a data buffer. Return false if the data buffer does not contain an image h...
Definition
cr2header_int.cpp:9
Exiv2::Internal::Cr2Header::write
DataBuf write() const override
Return the image header in binary format. The caller owns this data and DataBuf ensures that it will ...
Definition
cr2header_int.cpp:31
Exiv2::Internal::Cr2Header::offset2addr
static uint32_t offset2addr()
Return the address of offset2 from the start of the header.
Definition
cr2header_int.hpp:44
Exiv2::Internal::Cr2Header::isImageTag
bool isImageTag(uint16_t tag, IfdId group, const PrimaryGroups *pPrimaryGroups) const override
Return true if the Exif tag from group is an image tag.
Definition
cr2header_int.cpp:53
Exiv2::Internal::Cr2Header::Cr2Header
Cr2Header(ByteOrder byteOrder=littleEndian)
Default constructor.
Definition
cr2header_int.cpp:6
Exiv2::Internal::TiffHeaderBase::tag
virtual uint16_t tag() const
Return the tag value (magic number) which identifies the buffer as TIFF data.
Definition
tiffimage_int.cpp:2220
Exiv2::Internal::TiffHeaderBase::size
virtual uint32_t size() const
Return the size (in bytes) of the image header.
Definition
tiffimage_int.cpp:2216
Exiv2::Internal::TiffHeaderBase::TiffHeaderBase
TiffHeaderBase(uint16_t tag, uint32_t size, ByteOrder byteOrder, uint32_t offset)
Constructor taking tag, size and default byteOrder and offset.
Definition
tiffimage_int.cpp:2139
Exiv2::Internal::TiffHeaderBase::byteOrder
virtual ByteOrder byteOrder() const
Return the byte order (little or big endian).
Definition
tiffimage_int.cpp:2200
Exiv2::Internal
Helper structure for the Matroska tags lookup table.
Definition
matroskavideo.hpp:39
Exiv2::Internal::PrimaryGroups
std::vector< IfdId > PrimaryGroups
Type for a list of primary image groups.
Definition
tifffwd_int.hpp:80
Exiv2::IfdId
IfdId
Type to specify the IFD to which a metadata belongs.
Definition
tags.hpp:34
Exiv2::ByteOrder
ByteOrder
Type to express the byte order (little or big endian).
Definition
types.hpp:34
Exiv2::DataBuf
Utility class containing a character array. All it does is to take care of memory allocation and dele...
Definition
types.hpp:124
Generated on
for Exiv2 by
1.17.0