summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qblendfunctions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/painting/qblendfunctions.cpp')
-rw-r--r--src/gui/painting/qblendfunctions.cpp1858
1 files changed, 79 insertions, 1779 deletions
diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp
index 2da5dbb356..b3710411c9 100644
--- a/src/gui/painting/qblendfunctions.cpp
+++ b/src/gui/painting/qblendfunctions.cpp
@@ -1,7 +1,7 @@
/****************************************************************************
**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtGui module of the Qt Toolkit.
**
@@ -10,9 +10,9 @@
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
@@ -23,8 +23,8 @@
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
@@ -245,7 +245,7 @@ static void qt_blend_argb32_on_rgb16(uchar *destPixels, int dbpl,
}
quint16 *dst = (quint16 *) destPixels;
- quint32 *src = (quint32 *) srcPixels;
+ const quint32 *src = (const quint32 *) srcPixels;
for (int y=0; y<h; ++y) {
for (int x=0; x<w; ++x) {
@@ -282,7 +282,7 @@ static void qt_blend_argb32_on_rgb16(uchar *destPixels, int dbpl,
}
}
dst = (quint16 *) (((uchar *) dst) + dbpl);
- src = (quint32 *) (((uchar *) src) + sbpl);
+ src = (const quint32 *) (((const uchar *) src) + sbpl);
}
}
@@ -432,10 +432,10 @@ static void qt_blend_argb32pm_on_a2rgb30pm(uchar *destPixels, int dbpl,
}
template<QtPixelOrder PixelOrder>
-void qt_blend_rgb32_on_rgb30(uchar *destPixels, int dbpl,
- const uchar *srcPixels, int sbpl,
- int w, int h,
- int const_alpha)
+static void qt_blend_rgb32_on_rgb30(uchar *destPixels, int dbpl,
+ const uchar *srcPixels, int sbpl,
+ int w, int h,
+ int const_alpha)
{
#ifdef QT_DEBUG_DRAW
fprintf(stdout, "qt_blend_rgb32_on_rgb30: dst=(%p, %d), src=(%p, %d), dim=(%d, %d) alpha=%d\n",
@@ -496,10 +496,10 @@ static void qt_blend_a2rgb30pm_on_a2rgb30pm(uchar *destPixels, int dbpl,
}
-void qt_blend_rgb30_on_rgb30(uchar *destPixels, int dbpl,
- const uchar *srcPixels, int sbpl,
- int w, int h,
- int const_alpha)
+static void qt_blend_rgb30_on_rgb30(uchar *destPixels, int dbpl,
+ const uchar *srcPixels, int sbpl,
+ int w, int h,
+ int const_alpha)
{
#ifdef QT_DEBUG_DRAW
fprintf(stdout, "qt_blend_rgb30_on_rgb30: dst=(%p, %d), src=(%p, %d), dim=(%d, %d) alpha=%d\n",
@@ -740,1775 +740,75 @@ void qt_transform_image_argb32_on_argb32(uchar *destPixels, int dbpl,
}
}
-SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats] = {
- { // Format_Invalid
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGRs30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_Mono
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_MonoLSB
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_Indexed8
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB32
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_scale_image_rgb32_on_rgb32, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_scale_image_argb32_on_argb32, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB32
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB32_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_scale_image_rgb32_on_rgb32, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_scale_image_argb32_on_argb32, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB16
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_scale_image_argb32_on_rgb16, // Format_ARGB32_Premultiplied,
- qt_scale_image_rgb16_on_rgb16, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB8565_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB666
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB6666_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB555
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB8555_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB888
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB444
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB4444_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGBX8888
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
-#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
- qt_scale_image_rgb32_on_rgb32, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- qt_scale_image_argb32_on_argb32, // Format_RGBA8888_Premultiplied,
-#else
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
-#endif
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGBA8888
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGBA8888_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
-#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
- qt_scale_image_rgb32_on_rgb32, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- qt_scale_image_argb32_on_argb32, // Format_RGBA8888_Premultiplied,
-#else
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
-#endif
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_BGR30
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_A2BGR30_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB30
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_A2RGB30_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
-};
-
+SrcOverScaleFunc qScaleFunctions[QImage::NImageFormats][QImage::NImageFormats];
+SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats];
+SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFormats];
-SrcOverBlendFunc qBlendFunctions[QImage::NImageFormats][QImage::NImageFormats] = {
- { // Format_Invalid
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_Mono
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_MonoLSB
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_Indexed8
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB32
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_blend_rgb32_on_rgb32, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_blend_argb32_on_argb32, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB32
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB32_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_blend_rgb32_on_rgb32, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_blend_argb32_on_argb32, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB16
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_blend_rgb32_on_rgb16, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_blend_argb32_on_rgb16, // Format_ARGB32_Premultiplied,
- qt_blend_rgb16_on_rgb16, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB8565_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB666
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB6666_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB555
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB8555_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB888
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB444
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB4444_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGBX8888
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
-#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
- qt_blend_rgb32_on_rgb32, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- qt_blend_argb32_on_argb32, // Format_RGBA8888_Premultiplied,
-#else
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
-#endif
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGBA8888
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGBA8888_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
+void qInitBlendFunctions()
+{
+ qScaleFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_scale_image_rgb32_on_rgb32;
+ qScaleFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_scale_image_argb32_on_argb32;
+ qScaleFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_scale_image_rgb32_on_rgb32;
+ qScaleFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_scale_image_argb32_on_argb32;
+ qScaleFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_scale_image_argb32_on_rgb16;
+ qScaleFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_scale_image_rgb16_on_rgb16;
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
- qt_blend_rgb32_on_rgb32, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- qt_blend_argb32_on_argb32, // Format_RGBA8888_Premultiplied,
-#else
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
+ qScaleFunctions[QImage::Format_RGBX8888][QImage::Format_RGBX8888] = qt_scale_image_rgb32_on_rgb32;
+ qScaleFunctions[QImage::Format_RGBX8888][QImage::Format_RGBA8888_Premultiplied] = qt_scale_image_argb32_on_argb32;
+ qScaleFunctions[QImage::Format_RGBA8888_Premultiplied][QImage::Format_RGBX8888] = qt_scale_image_rgb32_on_rgb32;
+ qScaleFunctions[QImage::Format_RGBA8888_Premultiplied][QImage::Format_RGBA8888_Premultiplied] = qt_scale_image_argb32_on_argb32;
#endif
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0, // Format_A2RGB30_Premultiplied,
- },
- { // Format_BGR30
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_blend_rgb32_on_rgb30<PixelOrderBGR>, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_blend_argb32pm_on_a2rgb30pm<PixelOrderBGR>, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- qt_blend_rgb30_on_rgb30, // Format_RGB30,
- qt_blend_a2rgb30pm_on_a2rgb30pm, // Format_A2RGB30_Premultiplied,
- qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_RGB30,
- qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_A2RGB30_Premultiplied,
- },
- { // Format_A2BGR30_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_blend_rgb32_on_rgb30<PixelOrderBGR>, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_blend_argb32pm_on_a2rgb30pm<PixelOrderBGR>, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- qt_blend_rgb30_on_rgb30, // Format_BGR30,
- qt_blend_a2rgb30pm_on_a2rgb30pm, // Format_A2BGR30_Premultiplied,
- qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_RGB30,
- qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB30
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_blend_rgb32_on_rgb30<PixelOrderRGB>, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_blend_argb32pm_on_a2rgb30pm<PixelOrderRGB>, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_BGR30,
- qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_A2BGR30_Premultiplied,
- qt_blend_rgb30_on_rgb30, // Format_RGB30,
- qt_blend_a2rgb30pm_on_a2rgb30pm, // Format_A2RGB30_Premultiplied,
- },
- { // Format_A2RGB30_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_blend_rgb32_on_rgb30<PixelOrderRGB>, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_blend_argb32pm_on_a2rgb30pm<PixelOrderRGB>, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_BGR30,
- qt_blend_a2bgr30pm_on_a2rgb30pm, // Format_A2BGR30_Premultiplied,
- qt_blend_rgb30_on_rgb30, // Format_RGB30,
- qt_blend_a2rgb30pm_on_a2rgb30pm // Format_A2RGB30_Premultiplied,
- },
-};
-SrcOverTransformFunc qTransformFunctions[QImage::NImageFormats][QImage::NImageFormats] = {
- { // Format_Invalid
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_Mono
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_MonoLSB
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_Indexed8
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB32
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_transform_image_rgb32_on_rgb32, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_transform_image_argb32_on_argb32, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB32
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB32_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- qt_transform_image_rgb32_on_rgb32, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_transform_image_argb32_on_argb32, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB16
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- qt_transform_image_argb32_on_rgb16, // Format_ARGB32_Premultiplied,
- qt_transform_image_rgb16_on_rgb16, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB8565_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB666
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB6666_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB555
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB8555_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB888
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB444
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_ARGB4444_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGBX8888
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
+ qBlendFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32;
+ qBlendFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32;
+ qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32;
+ qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32;
+ qBlendFunctions[QImage::Format_RGB16][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb16;
+ qBlendFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_rgb16;
+ qBlendFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_blend_rgb16_on_rgb16;
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
- qt_transform_image_rgb32_on_rgb32, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- qt_transform_image_argb32_on_argb32, // Format_RGBA8888_Premultiplied,
-#else
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
+ qBlendFunctions[QImage::Format_RGBX8888][QImage::Format_RGBX8888] = qt_blend_rgb32_on_rgb32;
+ qBlendFunctions[QImage::Format_RGBX8888][QImage::Format_RGBA8888_Premultiplied] = qt_blend_argb32_on_argb32;
+ qBlendFunctions[QImage::Format_RGBA8888_Premultiplied][QImage::Format_RGBX8888] = qt_blend_rgb32_on_rgb32;
+ qBlendFunctions[QImage::Format_RGBA8888_Premultiplied][QImage::Format_RGBA8888_Premultiplied] = qt_blend_argb32_on_argb32;
#endif
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGBA8888
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGBA8888_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
+ qBlendFunctions[QImage::Format_BGR30][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb30<PixelOrderBGR>;
+ qBlendFunctions[QImage::Format_BGR30][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32pm_on_a2rgb30pm<PixelOrderBGR>;
+ qBlendFunctions[QImage::Format_BGR30][QImage::Format_BGR30] = qt_blend_rgb30_on_rgb30;
+ qBlendFunctions[QImage::Format_BGR30][QImage::Format_A2BGR30_Premultiplied] = qt_blend_a2rgb30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_BGR30][QImage::Format_RGB30] = qt_blend_a2bgr30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_BGR30][QImage::Format_A2RGB30_Premultiplied] = qt_blend_a2bgr30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_A2BGR30_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb30<PixelOrderBGR>;
+ qBlendFunctions[QImage::Format_A2BGR30_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32pm_on_a2rgb30pm<PixelOrderBGR>;
+ qBlendFunctions[QImage::Format_A2BGR30_Premultiplied][QImage::Format_BGR30] = qt_blend_rgb30_on_rgb30;
+ qBlendFunctions[QImage::Format_A2BGR30_Premultiplied][QImage::Format_A2BGR30_Premultiplied] = qt_blend_a2rgb30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_A2BGR30_Premultiplied][QImage::Format_RGB30] = qt_blend_a2bgr30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_A2BGR30_Premultiplied][QImage::Format_A2RGB30_Premultiplied] = qt_blend_a2bgr30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_RGB30][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb30<PixelOrderRGB>;
+ qBlendFunctions[QImage::Format_RGB30][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32pm_on_a2rgb30pm<PixelOrderRGB>;
+ qBlendFunctions[QImage::Format_RGB30][QImage::Format_BGR30] = qt_blend_a2bgr30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_RGB30][QImage::Format_A2BGR30_Premultiplied] = qt_blend_a2bgr30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_RGB30][QImage::Format_RGB30] = qt_blend_rgb30_on_rgb30;
+ qBlendFunctions[QImage::Format_RGB30][QImage::Format_A2RGB30_Premultiplied] = qt_blend_a2rgb30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_A2RGB30_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb30<PixelOrderRGB>;
+ qBlendFunctions[QImage::Format_A2RGB30_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32pm_on_a2rgb30pm<PixelOrderRGB>;
+ qBlendFunctions[QImage::Format_A2RGB30_Premultiplied][QImage::Format_BGR30] = qt_blend_a2bgr30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_A2RGB30_Premultiplied][QImage::Format_A2BGR30_Premultiplied] = qt_blend_a2bgr30pm_on_a2rgb30pm;
+ qBlendFunctions[QImage::Format_A2RGB30_Premultiplied][QImage::Format_RGB30] = qt_blend_rgb30_on_rgb30;
+ qBlendFunctions[QImage::Format_A2RGB30_Premultiplied][QImage::Format_A2RGB30_Premultiplied] = qt_blend_a2rgb30pm_on_a2rgb30pm;
+
+ qTransformFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_transform_image_rgb32_on_rgb32;
+ qTransformFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_transform_image_argb32_on_argb32;
+ qTransformFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_transform_image_rgb32_on_rgb32;
+ qTransformFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_transform_image_argb32_on_argb32;
+ qTransformFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_transform_image_argb32_on_rgb16;
+ qTransformFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_transform_image_rgb16_on_rgb16;
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
- qt_transform_image_rgb32_on_rgb32, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- qt_transform_image_argb32_on_argb32, // Format_RGBA8888_Premultiplied,
-#else
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
+ qTransformFunctions[QImage::Format_RGBX8888][QImage::Format_RGBX8888] = qt_transform_image_rgb32_on_rgb32;
+ qTransformFunctions[QImage::Format_RGBX8888][QImage::Format_RGBA8888_Premultiplied] = qt_transform_image_argb32_on_argb32;
+ qTransformFunctions[QImage::Format_RGBA8888_Premultiplied][QImage::Format_RGBX8888] = qt_transform_image_rgb32_on_rgb32;
+ qTransformFunctions[QImage::Format_RGBA8888_Premultiplied][QImage::Format_RGBA8888_Premultiplied] = qt_transform_image_argb32_on_argb32;
#endif
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_BGR30
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_A2BGR30_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_RGB30
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
- { // Format_A2RGB30_Premultiplied
- 0, // Format_Invalid,
- 0, // Format_Mono,
- 0, // Format_MonoLSB,
- 0, // Format_Indexed8,
- 0, // Format_RGB32,
- 0, // Format_ARGB32,
- 0, // Format_ARGB32_Premultiplied,
- 0, // Format_RGB16,
- 0, // Format_ARGB8565_Premultiplied,
- 0, // Format_RGB666,
- 0, // Format_ARGB6666_Premultiplied,
- 0, // Format_RGB555,
- 0, // Format_ARGB8555_Premultiplied,
- 0, // Format_RGB888,
- 0, // Format_RGB444,
- 0, // Format_ARGB4444_Premultiplied,
- 0, // Format_RGBX8888,
- 0, // Format_RGBA8888,
- 0, // Format_RGBA8888_Premultiplied,
- 0, // Format_BGR30,
- 0, // Format_A2BGR30_Premultiplied,
- 0, // Format_RGB30,
- 0 // Format_A2RGB30_Premultiplied,
- },
-};
+}
QT_END_NAMESPACE