diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-11-23 18:07:52 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-02-02 16:08:59 +0000 |
commit | 56e9221b362129712e9e2900d6bba95b48ff4039 (patch) | |
tree | 7881684eb34eae70cf3ae0d5f3443dc949099a59 /src/gui/painting/qdrawhelper_neon.cpp | |
parent | 3e238113f84de92cb571ff7129f41f6b4724c1dc (diff) |
Implement clip part of qt_alphamapblit_quint16
Adds handling of clipping in qt_alphamapblit_quint16, this
is also preparing for a generic implementation of alphamapblit.
Change-Id: I706f08179abefa74f8de138369a0dc8ce19510fc
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/gui/painting/qdrawhelper_neon.cpp')
-rw-r--r-- | src/gui/painting/qdrawhelper_neon.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/gui/painting/qdrawhelper_neon.cpp b/src/gui/painting/qdrawhelper_neon.cpp index 643c570f65..4cbac009d8 100644 --- a/src/gui/painting/qdrawhelper_neon.cpp +++ b/src/gui/painting/qdrawhelper_neon.cpp @@ -535,12 +535,23 @@ void qt_blend_rgb32_on_rgb32_neon(uchar *destPixels, int dbpl, } #if defined(ENABLE_PIXMAN_DRAWHELPERS) +extern void qt_alphamapblit_quint16(QRasterBuffer *rasterBuffer, + int x, int y, const QRgba64 &color, + const uchar *map, + int mapWidth, int mapHeight, int mapStride, + const QClipData *clip, bool useGammaCorrection); + void qt_alphamapblit_quint16_neon(QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *bitmap, int mapWidth, int mapHeight, int mapStride, - const QClipData *, bool /*useGammaCorrection*/) + const QClipData *clip, bool useGammaCorrection) { + if (clip || useGammaCorrection) { + qt_alphamapblit_quint16(rasterBuffer, x, y, color, bitmap, mapWidth, mapHeight, mapStride, clip, useGammaCorrection); + return; + } + quint16 *dest = reinterpret_cast<quint16*>(rasterBuffer->scanLine(y)) + x; const int destStride = rasterBuffer->bytesPerLine() / sizeof(quint16); |