You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.6 KiB
C++
62 lines
2.6 KiB
C++
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#ifndef PANASONICMN_INT_HPP_
|
|
#define PANASONICMN_INT_HPP_
|
|
|
|
// *****************************************************************************
|
|
// included header files
|
|
#include "tags.hpp"
|
|
#include "types.hpp"
|
|
|
|
// *****************************************************************************
|
|
// namespace extensions
|
|
namespace Exiv2::Internal {
|
|
|
|
// *****************************************************************************
|
|
// class definitions
|
|
|
|
//! MakerNote for Panasonic cameras
|
|
class PanasonicMakerNote {
|
|
public:
|
|
//! Return read-only list of built-in Panasonic tags
|
|
static const TagInfo* tagList();
|
|
//! Return read-only list of built-in Panasonic RAW image tags (IFD0)
|
|
static const TagInfo* tagListRaw();
|
|
|
|
//! @name Print functions for Panasonic %MakerNote tags
|
|
//@{
|
|
//! Print SpotMode
|
|
static std::ostream& print0x000f(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print WhiteBalanceBias
|
|
static std::ostream& print0x0023(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print TimeSincePowerOn
|
|
static std::ostream& print0x0029(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print Baby age
|
|
static std::ostream& print0x0033(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print Travel days
|
|
static std::ostream& print0x0036(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print ISO
|
|
static std::ostream& print0x003c(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print Manometer Pressure
|
|
static std::ostream& printPressure(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print special text values: title, landmark, county and so on
|
|
static std::ostream& printPanasonicText(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print accelerometer readings
|
|
static std::ostream& printAccelerometer(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print roll angle
|
|
static std::ostream& printRollAngle(std::ostream& os, const Value& value, const ExifData*);
|
|
//! Print pitch angle
|
|
static std::ostream& printPitchAngle(std::ostream& os, const Value& value, const ExifData*);
|
|
//@}
|
|
|
|
private:
|
|
//! Makernote tag list
|
|
static const TagInfo tagInfo_[];
|
|
//! Taglist for IFD0 of Panasonic RAW images
|
|
static const TagInfo tagInfoRaw_[];
|
|
|
|
}; // class PanasonicMakerNote
|
|
} // namespace Exiv2::Internal
|
|
|
|
#endif // #ifndef PANASONICMN_INT_HPP_
|