src/gui/painting/qrgb.h

Go to the documentation of this file.
00001 /****************************************************************************
00002 **
00003 ** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.
00004 **
00005 ** This file is part of the QtGui module of the Qt Toolkit.
00006 **
00007 ** This file may be used under the terms of the GNU General Public
00008 ** License version 2.0 as published by the Free Software Foundation
00009 ** and appearing in the file LICENSE.GPL included in the packaging of
00010 ** this file.  Please review the following information to ensure GNU
00011 ** General Public Licensing requirements will be met:
00012 ** http://www.trolltech.com/products/qt/opensource.html
00013 **
00014 ** If you are unsure which license is appropriate for your use, please
00015 ** review the following information:
00016 ** http://www.trolltech.com/products/qt/licensing.html or contact the
00017 ** sales department at sales@trolltech.com.
00018 **
00019 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00020 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
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;                        // RGB triplet
00034 
00035 const QRgb  RGB_MASK    = 0x00ffffff;                // masks RGB values
00036 
00037 Q_GUI_EXPORT_INLINE int qRed(QRgb rgb)                // get red part of RGB
00038 { return ((rgb >> 16) & 0xff); }
00039 
00040 Q_GUI_EXPORT_INLINE int qGreen(QRgb rgb)                // get green part of RGB
00041 { return ((rgb >> 8) & 0xff); }
00042 
00043 Q_GUI_EXPORT_INLINE int qBlue(QRgb rgb)                // get blue part of RGB
00044 { return (rgb & 0xff); }
00045 
00046 Q_GUI_EXPORT_INLINE int qAlpha(QRgb rgb)                // get alpha part of RGBA
00047 { return ((rgb >> 24) & 0xff); }
00048 
00049 Q_GUI_EXPORT_INLINE QRgb qRgb(int r, int g, int b)// set RGB value
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)// set RGBA value
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)// convert R,G,B to gray 0..255
00056 { return (r*11+g*16+b*5)/32; }
00057 
00058 Q_GUI_EXPORT_INLINE int qGray(QRgb rgb)                // convert RGB to gray 0..255
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

Generated on Thu Mar 15 11:55:39 2007 for Qt 4.2 User's Guide by  doxygen 1.5.1