Improve Save as
This commit is contained in:
@@ -1,11 +1,41 @@
|
||||
#ifndef MTFPARAM_H
|
||||
#define MTFPARAM_H
|
||||
|
||||
#include <QVariantMap>
|
||||
|
||||
struct MTFParam
|
||||
{
|
||||
float blackPoint[3] = {0.0f, 0.0f, 0.0f};
|
||||
float midPoint[3] = {0.5f, 0.5f, 0.5f};
|
||||
float whitePoint[3] = {1.0f, 1.0f, 1.0f};
|
||||
QVariantMap toVariantMap() const
|
||||
{
|
||||
QVariantMap ret;
|
||||
ret["black"] = QList<QVariant>({blackPoint[0], blackPoint[1], blackPoint[2]});
|
||||
ret["mid"] = QList<QVariant>({midPoint[0], midPoint[1], midPoint[2]});
|
||||
ret["white"] = QList<QVariant>({whitePoint[0], whitePoint[1], whitePoint[2]});
|
||||
return ret;
|
||||
}
|
||||
static bool fromVariantMap(const QVariantMap &map, MTFParam &mtf)
|
||||
{
|
||||
if(!map.contains("black") || !map.contains("mid") || !map.contains("white"))
|
||||
return false;
|
||||
|
||||
QVariantList black = map["black"].toList();
|
||||
QVariantList mid = map["mid"].toList();
|
||||
QVariantList white = map["white"].toList();
|
||||
if(black.size() < 3 || mid.size() < 3 || white.size() < 3)
|
||||
return false;
|
||||
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
mtf.blackPoint[i] = black[i].toFloat();
|
||||
mtf.midPoint[i] = mid[i].toFloat();
|
||||
mtf.whitePoint[i] = white[i].toFloat();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // MTFPARAM_H
|
||||
|
||||
Reference in New Issue
Block a user