You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
libkdcraw/libkdcraw/libkdcraw/dcrawinfocontainer.h

136 lines
3.9 KiB

/* ============================================================
*
* This file is a part of kipi-plugins project
* http://www.kipi-plugins.org
*
* Date : 2007-05-02
* Description : RAW file identification information container
*
* Copyright (C) 2007-2008 by Gilles Caulier <caulier dot gilles at gmail dot com>
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software Foundation;
* either version 2, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* ============================================================ */
#ifndef DCRAW_INFO_CONTAINER_H
#define DCRAW_INFO_CONTAINER_H
// QT includes.
#include <qstring.h>
#include <qdatetime.h>
#include <qsize.h>
// Local Includes.
#include "libkdcraw_export.h"
namespace KDcrawIface
{
class LIBKDCRAW_EXPORT DcrawInfoContainer
{
public:
/** Standard constructor */
DcrawInfoContainer()
{
sensitivity = -1;
exposureTime = -1.0;
aperture = -1.0;
focalLength = -1.0;
pixelAspectRatio = 1.0; // Default value. This can be unavailable (depending of camera model).
rawColors = -1;
hasIccProfile = false;
isDecodable = false;
hasSecondaryPixel = false;
daylightMult[0] = 0.0;
daylightMult[1] = 0.0;
daylightMult[2] = 0.0;
cameraMult[0] = 0.0;
cameraMult[1] = 0.0;
cameraMult[2] = 0.0;
cameraMult[3] = 0.0;
};
/** Standard destructor */
virtual ~DcrawInfoContainer(){}
/** return 'true' if container is empty, else 'false' */
bool isEmpty()
{
if ( make.isEmpty() &&
model.isEmpty() &&
filterPattern.isEmpty() &&
DNGVersion.isEmpty() &&
exposureTime == -1.0 &&
aperture == -1.0 &&
focalLength == -1.0 &&
pixelAspectRatio == 1.0 &&
sensitivity == -1 &&
rawColors == -1 &&
!dateTime.isValid() &&
!imageSize.isValid() )
return true;
else
return false;
};
/** True if camera sensor use a secondary pixel. */
bool hasSecondaryPixel;
/** True if RAW file include an ICC color profile. */
bool hasIccProfile;
/** True is RAW file is decodable by dcraw. */
bool isDecodable;
/** The number of RAW colors. */
int rawColors;
/** The sensitivity in ISO used by camera to take the picture. */
long sensitivity;
/** ==> 1/exposureTime = exposure time in seconds. */
float exposureTime;
/** ==> Aperture value in APEX. */
float aperture;
/** ==> Focal Length value in mm. */
float focalLength;
/** The pixel Aspect Ratio if != 1.0. NOTE: if == 1.0, dcraw do not show this value. */
float pixelAspectRatio;
/** White color balance settings. */
double daylightMult[3];
/** Camera multipliers used for White Balance adjustements */
double cameraMult[4];
/** The camera maker. */
QString make;
/** The camera model. */
QString model;
/** The artist name who have picture owner. */
QString owner;
/** The demosaising filter pattern. */
QString filterPattern;
/** The DNG version. NOTE: its only show with DNG RAW files. */
QString DNGVersion;
/** Date & time when have been taken the picture. */
QDateTime dateTime;
/** The image dimensions in pixels. */
QSize imageSize;
};
} // namespace KDcrawIface
#endif /* DCRAW_INFO_CONTAINER_H */