00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef QRGB_H
00025 #define QRGB_H
00026
00027 #include <QtCore/qglobal.h>
00028
00029 QT_BEGIN_HEADER
00030
00031 QT_MODULE(Gui)
00032
00033 typedef unsigned int QRgb;
00034
00035 const QRgb RGB_MASK = 0x00ffffff;
00036
00037 Q_GUI_EXPORT_INLINE int qRed(QRgb rgb)
00038 { return ((rgb >> 16) & 0xff); }
00039
00040 Q_GUI_EXPORT_INLINE int qGreen(QRgb rgb)
00041 { return ((rgb >> 8) & 0xff); }
00042
00043 Q_GUI_EXPORT_INLINE int qBlue(QRgb rgb)
00044 { return (rgb & 0xff); }
00045
00046 Q_GUI_EXPORT_INLINE int qAlpha(QRgb rgb)
00047 { return ((rgb >> 24) & 0xff); }
00048
00049 Q_GUI_EXPORT_INLINE QRgb qRgb(int r, int g, int b)
00050 { return (0xff << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); }
00051
00052 Q_GUI_EXPORT_INLINE QRgb qRgba(int r, int g, int b, int a)
00053 { return ((a & 0xff) << 24) | ((r & 0xff) << 16) | ((g & 0xff) << 8) | (b & 0xff); }
00054
00055 Q_GUI_EXPORT_INLINE int qGray(int r, int g, int b)
00056 { return (r*11+g*16+b*5)/32; }
00057
00058 Q_GUI_EXPORT_INLINE int qGray(QRgb rgb)
00059 { return qGray(qRed(rgb), qGreen(rgb), qBlue(rgb)); }
00060
00061 Q_GUI_EXPORT_INLINE bool qIsGray(QRgb rgb)
00062 { return qRed(rgb) == qGreen(rgb) && qRed(rgb) == qBlue(rgb); }
00063
00064 QT_END_HEADER
00065
00066 #endif // QRGB_H