implement LocalAFAreaPoint codec

v0.27.3
HumanDynamo 15 years ago
parent a7da2b0080
commit b4c90e4465

@ -378,4 +378,26 @@ namespace Exiv2 {
return EXV_PRINT_TAG(minoltaSonyAFAreaMode)(os, value, metadata);
}
// ----------------------------------------------------------------------------------------------------
//! Lookup table to translate Sony camera settings Local AF Area Point values to readable labels
extern const TagDetails minoltaSonyLocalAFAreaPoint[] = {
{ 1, N_("Center") },
{ 2, N_("Top") },
{ 3, N_("Top-Right") },
{ 4, N_("Right") },
{ 5, N_("Bottom-Right") },
{ 6, N_("Bottom") },
{ 7, N_("Bottom-Left") },
{ 8, N_("Left") },
{ 9, N_("Top-Left") },
{ 10, N_("Far-Right") },
{ 11, N_("Far-Left") }
};
std::ostream& printMinoltaSonyLocalAFAreaPoint(std::ostream& os, const Value& value, const ExifData* metadata)
{
return EXV_PRINT_TAG(minoltaSonyLocalAFAreaPoint)(os, value, metadata);
}
} // namespace Exiv2

@ -52,6 +52,9 @@ namespace Exiv2 {
//! Print Minolta/Sony AF Area Mode values to readable labels.
EXIV2API std::ostream& printMinoltaSonyAFAreaMode(std::ostream&, const Value&, const ExifData*);
//! Print Minolta/Sony Local AF Area Point values to readable labels.
EXIV2API std::ostream& printMinoltaSonyLocalAFAreaPoint(std::ostream&, const Value&, const ExifData*);
// TODO: Added shared methods here.
} // namespace Exiv2

@ -416,7 +416,7 @@ namespace Exiv2 {
TagInfo(0x0018, "LocalAFAreaPoint", N_("Local AF Area Point"),
N_("Local AF Area Point"),
sony1CsIfdId, makerTags, unsignedShort, printValue),
sony1CsIfdId, makerTags, unsignedShort, printMinoltaSonyLocalAFAreaPoint),
TagInfo(0x0021, "MeteringMode", N_("Metering Mode"),
N_("Metering Mode"),
@ -544,7 +544,7 @@ namespace Exiv2 {
TagInfo(0x0018, "LocalAFAreaPoint", N_("Local AF Area Point"),
N_("Local AF Area Point"),
sony1Cs2IfdId, makerTags, unsignedShort, printValue),
sony1Cs2IfdId, makerTags, unsignedShort, printMinoltaSonyLocalAFAreaPoint),
TagInfo(0x0019, "MeteringMode", N_("Metering Mode"),
N_("Metering Mode"),

Loading…
Cancel
Save