From 298241e5280ab392ae0da9668eee7920c0d8fa57 Mon Sep 17 00:00:00 2001 From: Rhys Weatherley Date: Fri, 18 Jun 2010 11:51:37 +1000 Subject: Add debug operator to QCLImageFormat. --- src/opencl/qclimageformat.cpp | 68 +++++++++++++++++++++++++++++++++++++++++++ src/opencl/qclimageformat.h | 4 +++ 2 files changed, 72 insertions(+) diff --git a/src/opencl/qclimageformat.cpp b/src/opencl/qclimageformat.cpp index a74a180..3ae3a51 100644 --- a/src/opencl/qclimageformat.cpp +++ b/src/opencl/qclimageformat.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include "qclimageformat.h" +#include QT_BEGIN_NAMESPACE @@ -280,4 +281,71 @@ QCLImageFormat::QCLImageFormat(QImage::Format format) QImage::Format_Invalid if there is no corresponding QImage format. */ +#ifndef QT_NO_DEBUG_STREAM + +QDebug operator<<(QDebug dbg, const QCLImageFormat &format) +{ + if (format.isNull()) { + dbg << "QCLImageFormat()"; + return dbg; + } + dbg.nospace() << "QCLImageFormat("; + switch (int(format.channelOrder())) { + case QCLImageFormat::Order_R: dbg << "R,"; break; + case QCLImageFormat::Order_A: dbg << "A,"; break; + case QCLImageFormat::Order_RG: dbg << "RG,"; break; + case QCLImageFormat::Order_RA: dbg << "RA,"; break; + case QCLImageFormat::Order_RGB: dbg << "RGB,"; break; + case QCLImageFormat::Order_RGBA: dbg << "RGBA,"; break; + case QCLImageFormat::Order_BGRA: dbg << "BGRA,"; break; + case QCLImageFormat::Order_ARGB: dbg << "ARGB,"; break; + case QCLImageFormat::Order_Intensity: dbg << "Intensity,"; break; + case QCLImageFormat::Order_Luminence: dbg << "Luminence,"; break; + case QCLImageFormat::Order_Rx: dbg << "Rx,"; break; + case QCLImageFormat::Order_RGx: dbg << "RGx,"; break; + case QCLImageFormat::Order_RGBx: dbg << "RGBx,"; break; + default: dbg << int(format.channelOrder()) << ','; break; + } + switch (int(format.channelType())) { + case QCLImageFormat::Type_Normalized_Int8: + dbg << "int8"; break; + case QCLImageFormat::Type_Normalized_Int16: + dbg << "int16"; break; + case QCLImageFormat::Type_Normalized_UInt8: + dbg << "uint8"; break; + case QCLImageFormat::Type_Normalized_UInt16: + dbg << "uint16"; break; + case QCLImageFormat::Type_Normalized_565: + dbg << "565"; break; + case QCLImageFormat::Type_Normalized_555: + dbg << "555"; break; + case QCLImageFormat::Type_Normalized_101010: + dbg << "101010"; break; + case QCLImageFormat::Type_Unnormalized_Int8: + dbg << "U_int8"; break; + case QCLImageFormat::Type_Unnormalized_Int16: + dbg << "U_int16"; break; + case QCLImageFormat::Type_Unnormalized_Int32: + dbg << "U_int32"; break; + case QCLImageFormat::Type_Unnormalized_UInt8: + dbg << "U_uint8"; break; + case QCLImageFormat::Type_Unnormalized_UInt16: + dbg << "U_uint16"; break; + case QCLImageFormat::Type_Unnormalized_UInt32: + dbg << "U_uint32"; break; + case QCLImageFormat::Type_Half_Float: + dbg << "half"; break; + case QCLImageFormat::Type_Float: + dbg << "float"; break; + default: dbg << int(format.channelType()); break; + } + QImage::Format qformat = format.toQImageFormat(); + if (qformat != QImage::Format_Invalid) + dbg << ",QImage=" << int(qformat); + dbg << ')'; + return dbg.space(); +} + +#endif + QT_END_NAMESPACE diff --git a/src/opencl/qclimageformat.h b/src/opencl/qclimageformat.h index ec22fa8..a6f6ba5 100644 --- a/src/opencl/qclimageformat.h +++ b/src/opencl/qclimageformat.h @@ -156,6 +156,10 @@ inline bool QCLImageFormat::operator!=(const QCLImageFormat &other) m_qformat != other.m_qformat; } +#ifndef QT_NO_DEBUG_STREAM +Q_CL_EXPORT QDebug operator<<(QDebug, const QCLImageFormat &); +#endif + QT_END_NAMESPACE QT_END_HEADER -- cgit v1.2.3