![]() |
Qt 6.x
The Qt SDK
|
#include "qdrawhelper_p.h"
#include <qstylehints.h>
#include <qguiapplication.h>
#include <qatomic.h>
#include <private/qcolortransform_p.h>
#include <private/qcolortrclut_p.h>
#include <private/qdrawhelper_p.h>
#include <private/qdrawhelper_x86_p.h>
#include <private/qdrawingprimitive_sse2_p.h>
#include <private/qdrawhelper_neon_p.h>
#include <private/qguiapplication_p.h>
#include <private/qpaintengine_raster_p.h>
#include <private/qpainter_p.h>
#include <private/qpixellayout_p.h>
#include <private/qrgba64_p.h>
#include <qendian.h>
#include <qloggingcategory.h>
#include <qmath.h>
Go to the source code of this file.
Classes | |
class | GradientBase32 |
class | RadialFetchPlain< GradientBase > |
struct | QBlendBase |
class | BlendSrcGeneric |
Macros | |
#define | MASK(src, a) src = BYTE_MUL(src, a) |
#define | FIXPT_BITS 8 |
#define | FIXPT_SIZE (1<<FIXPT_BITS) |
#define | FIXPT_MAX (INT_MAX >> (FIXPT_BITS + 1)) |
#define | QT_THREAD_PARALLEL_FILLS(function) function(0, count) |
Typedefs | |
typedef uint(QT_FASTCALL * | Fetch1PixelFunc) (const uchar *src, int index) |
typedef void(QT_FASTCALL * | BilinearFastTransformHelper) (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int fdy) |
#define FIXPT_BITS 8 |
Definition at line 3205 of file qdrawhelper.cpp.
#define FIXPT_MAX (INT_MAX >> (FIXPT_BITS + 1)) |
Definition at line 3207 of file qdrawhelper.cpp.
#define FIXPT_SIZE (1<<FIXPT_BITS) |
Definition at line 3206 of file qdrawhelper.cpp.
#define QT_THREAD_PARALLEL_FILLS | ( | function | ) | function(0, count) |
Definition at line 3797 of file qdrawhelper.cpp.
typedef void(QT_FASTCALL * BilinearFastTransformHelper) (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int fdy) |
Definition at line 1297 of file qdrawhelper.cpp.
typedef uint(QT_FASTCALL * Fetch1PixelFunc) (const uchar *src, int index) |
Definition at line 117 of file qdrawhelper.cpp.
enum FastTransformTypes |
Enumerator | |
---|---|
SimpleScaleTransform | |
UpscaleTransform | |
DownscaleTransform | |
RotateTransform | |
FastRotateTransform | |
NFastTransformTypes |
Definition at line 1261 of file qdrawhelper.cpp.
enum TextureBlendType |
Enumerator | |
---|---|
BlendUntransformed | |
BlendTiled | |
BlendTransformed | |
BlendTransformedTiled | |
BlendTransformedBilinear | |
BlendTransformedBilinearTiled | |
NBlendTypes |
Definition at line 826 of file qdrawhelper.cpp.
|
inlinestatic |
Definition at line 5202 of file qdrawhelper.cpp.
References blend_pixel(), QRgba64::fromArgb32(), grayBlendPixel(), QRgb, and QColorTrcLut::toLinear64().
Referenced by qt_alphamapblit_argb32(), and qt_alphamapblit_generic().
|
inlinestatic |
Definition at line 5413 of file qdrawhelper.cpp.
References BYTE_MUL_RGB16().
Referenced by qt_alphamapblit_quint16().
|
inlinestatic |
Definition at line 5586 of file qdrawhelper.cpp.
References blend_pixel(), QRgba64::fromArgb32(), QRgba64::isOpaque(), qAlpha(), QRgb, qRgbAvg(), rgbBlend(), rgbBlendPixel(), and QColorTrcLut::toLinear64().
Referenced by qt_alphargbblit_argb32(), and qt_alphargbblit_generic().
|
static |
Definition at line 3834 of file qdrawhelper.cpp.
References BYTE_MUL(), QPainter::CompositionMode_Source, QT_FT_Span_::coverage, Operator::funcSolid, function, getOperator(), i, QT_FT_Span_::len, Operator::mode, qt_memfill(), QT_THREAD_PARALLEL_FILLS, QT_FT_Span_::x, and QT_FT_Span_::y.
|
static |
Definition at line 3800 of file qdrawhelper.cpp.
References QPixelLayout::bpp, QPixelLayout::BPP8, BufferSize, QPainter::CompositionMode_Source, Operator::destFetch, Operator::destStore, Operator::funcSolid, function, getOperator(), QT_FT_Span_::len, Operator::mode, qMin(), qPixelLayouts, QT_THREAD_PARALLEL_FILLS, spanfill_from_first(), QT_FT_Span_::x, and QT_FT_Span_::y.
Referenced by blend_color_generic_fp(), and blend_color_generic_rgb64().
|
static |
Definition at line 3915 of file qdrawhelper.cpp.
References blend_color_generic(), QPixelLayout::bpp, QPixelLayout::BPP8, BufferSize, QPainter::CompositionMode_Source, Operator::destFetchFP, Operator::destStoreFP, Operator::funcSolidFP, function, getOperator(), QT_FT_Span_::len, Operator::mode, qCDebug, qMin(), qPixelLayouts, QT_THREAD_PARALLEL_FILLS, spanfill_from_first(), QT_FT_Span_::x, and QT_FT_Span_::y.
|
static |
Definition at line 3871 of file qdrawhelper.cpp.
References blend_color_generic(), QPixelLayout::bpp, QPixelLayout::BPP8, BufferSize, QPainter::CompositionMode_Source, Operator::destFetch64, Operator::destStore64, Operator::funcSolid64, function, getOperator(), QT_FT_Span_::len, Operator::mode, qCDebug, qMin(), qPixelLayouts, QT_THREAD_PARALLEL_FILLS, spanfill_from_first(), QT_FT_Span_::x, and QT_FT_Span_::y.
|
inlinestatic |
Definition at line 4403 of file qdrawhelper.cpp.
References interpolate_pixel_rgb16_255(), and interpolate_pixel_rgb16x2_255().
Referenced by blend_tiled_rgb565(), and blend_untransformed_rgb565().
|
static |
Definition at line 4134 of file qdrawhelper.cpp.
References getOperator().
Referenced by qBlendGradient().
|
static |
Definition at line 4712 of file qdrawhelper.cpp.
References blend_tiled_generic(), BufferSize, QT_FT_Span_::coverage, QImage::Format_ARGB32_Premultiplied, QImage::Format_RGB32, Operator::func, function, getOperator(), QT_FT_Span_::len, qMin(), qRound(), QT_THREAD_PARALLEL_FILLS, QT_FT_Span_::x, and QT_FT_Span_::y.
|
static |
Definition at line 4493 of file qdrawhelper.cpp.
References BufferSize, QT_FT_Span_::coverage, Operator::destFetch, Operator::destStore, Operator::func, function, getOperator(), QT_FT_Span_::len, qMin(), qRound(), QT_THREAD_PARALLEL_FILLS, Operator::srcFetch, QT_FT_Span_::x, and QT_FT_Span_::y.
Referenced by blend_tiled_argb(), and blend_tiled_rgb565().
|
static |
Definition at line 4765 of file qdrawhelper.cpp.
References blend_sourceOver_rgb16_rgb16(), blend_tiled_generic(), BufferSize, QRasterBuffer::compositionMode, QPainter::CompositionMode_Source, QPainter::CompositionMode_SourceOver, QT_FT_Span_::coverage, QImage::Format_RGB16, function, QT_FT_Span_::len, qMin(), qRound(), QT_THREAD_PARALLEL_FILLS, QSpanData::rasterBuffer, QT_FT_Span_::x, and QT_FT_Span_::y.
|
static |
Definition at line 4339 of file qdrawhelper.cpp.
References blend_untransformed_generic(), QT_FT_Span_::coverage, QImage::Format_ARGB32_Premultiplied, QImage::Format_RGB32, Operator::func, function, getOperator(), QT_FT_Span_::len, qRound(), QT_THREAD_PARALLEL_FILLS, QT_FT_Span_::x, and QT_FT_Span_::y.
|
static |
Definition at line 4169 of file qdrawhelper.cpp.
References BufferSize, QPainter::CompositionMode_Source, QT_FT_Span_::coverage, Operator::destFetch, destFetchARGB32P(), Operator::destStore, Operator::func, function, getOperator(), QT_FT_Span_::len, Operator::mode, qMin(), qRound(), QT_THREAD_PARALLEL_FILLS, Operator::srcFetch, QT_FT_Span_::x, and QT_FT_Span_::y.
Referenced by blend_untransformed_argb(), and blend_untransformed_rgb565().
|
static |
Definition at line 4436 of file qdrawhelper.cpp.
References blend_sourceOver_rgb16_rgb16(), blend_untransformed_generic(), QRasterBuffer::compositionMode, QPainter::CompositionMode_Source, QPainter::CompositionMode_SourceOver, QT_FT_Span_::coverage, QImage::Format_RGB16, function, QT_FT_Span_::len, qRound(), QT_THREAD_PARALLEL_FILLS, QSpanData::rasterBuffer, QT_FT_Span_::x, and QT_FT_Span_::y.
|
static |
Definition at line 5009 of file qdrawhelper.cpp.
References LinearGradientValues::dy, FIXPT_SIZE, getLinearGradientValues(), GRADIENT_STOPTABLE_SIZE, LinearGradientValues::off, qt_gradient_pixel_fixed(), and QT_FT_Span_::y.
|
static |
Definition at line 4968 of file qdrawhelper.cpp.
References QT_FT_Span_::coverage, LinearGradientValues::dy, FIXPT_SIZE, functionForModeSolid, getLinearGradientValues(), GRADIENT_STOPTABLE_SIZE, QT_FT_Span_::len, LinearGradientValues::off, qt_gradient_pixel_fixed(), QT_FT_Span_::x, and QT_FT_Span_::y.
Referenced by qBlendGradient().
|
inlinestatic |
Definition at line 899 of file qdrawhelper.cpp.
References fixed_scale, and Q_UNLIKELY.
Referenced by fetchTransformed_fetcher(), fetchTransformedBilinear(), and fetchTransformedBilinearARGB32PM().
|
static |
Definition at line 345 of file qdrawhelper.cpp.
References QRasterBuffer::format, layout, qPixelLayouts, and QRasterBuffer::scanLine().
Referenced by qt_alphamapblit_generic(), and qt_alphargbblit_generic().
|
static |
Definition at line 332 of file qdrawhelper.cpp.
References QRasterBuffer::scanLine().
Referenced by blend_untransformed_generic(), BlendSrcGeneric::fetch(), and getOperator().
|
static |
Definition at line 306 of file qdrawhelper.cpp.
References QRasterBuffer::destColor0, QRasterBuffer::destColor1, Q_DECL_RESTRICT, and QRasterBuffer::scanLine().
|
static |
Definition at line 319 of file qdrawhelper.cpp.
References QRasterBuffer::destColor0, QRasterBuffer::destColor1, Q_DECL_RESTRICT, and QRasterBuffer::scanLine().
|
static |
Definition at line 337 of file qdrawhelper.cpp.
References i, Q_DECL_RESTRICT, qConvertRgb16To32(), and QRasterBuffer::scanLine().
|
static |
Definition at line 351 of file qdrawhelper.cpp.
Referenced by getOperator().
|
static |
Definition at line 606 of file qdrawhelper.cpp.
References QRasterBuffer::format, layout, qPixelLayouts, and QRasterBuffer::scanLine().
Referenced by qt_alphamapblit_generic(), and qt_alphargbblit_generic().
|
static |
Definition at line 637 of file qdrawhelper.cpp.
References QColorTransformPrivate::apply(), BufferSize, QRasterBuffer::colorSpace, QRgba64::fromArgb32(), QColorSpacePrivate::get(), QColorTransformPrivate::get(), QColorTransformPrivate::InputPremultiplied, QColorSpace::isValid(), qIsGray(), qRed(), QRasterBuffer::scanLine(), QColorSpace::SRgb, and QColorSpacePrivate::transformationToXYZ().
|
static |
Definition at line 616 of file qdrawhelper.cpp.
References QColorTransformPrivate::apply(), QRasterBuffer::colorSpace, QColorSpacePrivate::get(), QColorTransformPrivate::get(), QColorTransformPrivate::InputPremultiplied, QColorSpace::isValid(), qIsGray(), qRed(), QRasterBuffer::scanLine(), QColorSpace::SRgb, and QColorSpacePrivate::transformationToXYZ().
|
static |
Definition at line 545 of file qdrawhelper.cpp.
References QRasterBuffer::destColor0, QRasterBuffer::destColor1, findNearestColor(), i, QRasterBuffer::monoDestinationWithClut, Q_DECL_RESTRICT, qGray(), qt_bayer_matrix, and QRasterBuffer::scanLine().
|
static |
Definition at line 572 of file qdrawhelper.cpp.
References QRasterBuffer::destColor0, QRasterBuffer::destColor1, findNearestColor(), i, QRasterBuffer::monoDestinationWithClut, Q_DECL_RESTRICT, qGray(), qt_bayer_matrix, and QRasterBuffer::scanLine().
|
static |
Definition at line 599 of file qdrawhelper.cpp.
References i, qConvertRgb32To16(), and QRasterBuffer::scanLine().
|
inlinestatic |
Definition at line 52 of file qdrawhelper.cpp.
|
inline |
Definition at line 76 of file qdrawhelper.cpp.
|
inline |
Definition at line 102 of file qdrawhelper.cpp.
References QRgbaFloat< F >::toArgb32().
|
inline |
Definition at line 58 of file qdrawhelper.cpp.
|
inline |
Definition at line 64 of file qdrawhelper.cpp.
|
inline |
Definition at line 82 of file qdrawhelper.cpp.
|
inline |
Definition at line 88 of file qdrawhelper.cpp.
|
inline |
Definition at line 110 of file qdrawhelper.cpp.
References QRgbaFloat< F >::toArgb32().
|
inline |
Definition at line 94 of file qdrawhelper.cpp.
References QRgba64::toArgb32().
|
inline |
Definition at line 70 of file qdrawhelper.cpp.
|
static |
Definition at line 1081 of file qdrawhelper.cpp.
References BlendTransformed, BlendTransformedTiled, layout, and qPixelLayouts.
|
static |
Definition at line 917 of file qdrawhelper.cpp.
References BlendTransformed, BlendTransformedTiled, QPixelLayout::BPP16FPx4, QPixelLayout::BPP32, QPixelLayout::BPP64, QPixelLayout::BPPNone, canUseFastMatrixPath(), fetch1PixelTable, fixed_scale, i, layout, Q_ASSERT, qFloor(), qMin(), and qPixelLayouts.
|
inline |
Definition at line 886 of file qdrawhelper.cpp.
References BlendTransformed, BlendTransformedTiled, and qBound().
|
static |
Definition at line 2315 of file qdrawhelper.cpp.
References QPixelLayout::BPPNone, BufferSize, canUseFastMatrixPath(), fixed_scale, half_point, hasFastInterpolate4(), i, interpolate_4_pixels(), interpolate_4_pixels_16(), layout, Q_ASSERT, qAbs(), qMin(), qPixelLayouts, and tr.
|
static |
Definition at line 2102 of file qdrawhelper.cpp.
References BlendTransformedBilinear, QPixelLayout::BPP16FPx4, QPixelLayout::BPP32, QPixelLayout::BPP64, QPixelLayout::BPPNone, fetch1PixelTable, fixed_scale, i, layout, Q_ASSERT, qMin(), qPixelLayouts, s1, and s2.
void fetchTransformedBilinear_pixelBounds | ( | int | max, |
int | l1, | ||
int | l2, | ||
int & | v1, | ||
int & | v2 | ||
) |
|
inline |
Definition at line 1249 of file qdrawhelper.cpp.
References Q_ASSERT.
|
inline |
Definition at line 1236 of file qdrawhelper.cpp.
References Q_ASSERT.
|
static |
Definition at line 2008 of file qdrawhelper.cpp.
References BlendTransformedBilinearTiled, IntermediateBuffer::buffer_ag, IntermediateBuffer::buffer_rb, BufferSize, fixed_scale, i, intermediate_adder(), layout, Q_ASSERT, qAbs(), qMax(), qMin(), qPixelLayouts, and s2.
|
static |
Definition at line 2263 of file qdrawhelper.cpp.
References QPixelLayout::BPP32, QPixelLayout::BPPNone, fetch1PixelTable, i, layout, Q_ASSERT, qFloor(), qPixelLayouts, s1, and s2.
|
static |
Definition at line 1907 of file qdrawhelper.cpp.
References bilinearFastTransformHelperARGB32PM, BlendTransformedBilinearTiled, BufferSize, canUseFastMatrixPath(), DownscaleTransform, FastRotateTransform, fixed_scale, half_point, interpolate_4_pixels(), qAbs(), RotateTransform, s2, SimpleScaleTransform, tr, and UpscaleTransform.
|
static |
Definition at line 1487 of file qdrawhelper.cpp.
References BlendTransformedBilinearTiled, fixed_scale, hasFastInterpolate4(), interpolate_4_pixels(), interpolate_4_pixels_16(), INTERPOLATE_PIXEL_256(), qMin(), s2, and tr.
|
static |
Definition at line 1664 of file qdrawhelper.cpp.
References BlendTransformedBilinearTiled, fixed_scale, hasFastInterpolate4(), interpolate_4_pixels(), interpolate_4_pixels_16(), qMin(), s2, and tr.
|
static |
Definition at line 1631 of file qdrawhelper.cpp.
References interpolate_4_pixels(), s2, and tr.
|
static |
Definition at line 1300 of file qdrawhelper.cpp.
References BlendTransformedBilinearTiled, IntermediateBuffer::buffer_ag, IntermediateBuffer::buffer_rb, BufferSize, fixed_scale, intermediate_adder(), Q_ASSERT, qAbs(), qMin(), and s2.
|
static |
Definition at line 1429 of file qdrawhelper.cpp.
References BlendTransformedBilinearTiled, fixed_scale, interpolate_4_pixels(), INTERPOLATE_PIXEL_256(), qMin(), s2, and tr.
|
static |
Definition at line 836 of file qdrawhelper.cpp.
References layout, and qPixelLayouts.
|
static |
Definition at line 843 of file qdrawhelper.cpp.
|
static |
Definition at line 850 of file qdrawhelper.cpp.
References i, and qConvertRgb16To32().
|
inlinestatic |
Definition at line 514 of file qdrawhelper.cpp.
References QRasterBuffer::destColor0, QRasterBuffer::destColor1, qBlue(), qGreen(), qPremultiply(), qRed(), QRgb, and rx().
Referenced by destStoreMono(), and destStoreMonoLsb().
|
static |
Definition at line 3581 of file qdrawhelper.cpp.
References BlendTiled, BlendTransformed, BlendTransformedBilinear, BlendTransformedBilinearTiled, BlendTransformedTiled, BlendUntransformed, QTextureData::Pattern, QTextureData::Tiled, and QTransform::TxTranslate.
Referenced by getOperator(), and qBlendTexture().
|
static |
Definition at line 3239 of file qdrawhelper.cpp.
Referenced by blend_vertical_gradient(), blend_vertical_gradient_argb(), and getOperator().
|
inlinestatic |
Definition at line 3604 of file qdrawhelper.cpp.
References QPainter::CompositionMode_Source, QPainter::CompositionMode_SourceOver, QSpanData::ConicalGradient, QT_FT_Span_::coverage, Operator::destFetch, Operator::destFetch64, destFetchARGB32P(), Operator::destFetchFP, destFetchProc, destFetchUndefined(), Operator::destStore, Operator::destStore64, Operator::destStoreFP, destStoreProc, Operator::func, Operator::func64, Operator::funcFP, Operator::funcSolid, Operator::funcSolid64, Operator::funcSolidFP, functionForMode, functionForModeSolid, getBlendType(), getLinearGradientValues(), getRadialGradientValues(), getSourceFetch(), Operator::linear, QSpanData::LinearGradient, Operator::mode, qt_fetch_conical_gradient(), qt_fetch_linear_gradient(), qt_fetch_radial_gradient, Operator::radial, QSpanData::RadialGradient, QSpanData::Solid, Operator::srcFetch, Operator::srcFetch64, Operator::srcFetchFP, and QSpanData::Texture.
Referenced by blend_color_argb(), blend_color_generic(), blend_color_generic_fp(), blend_color_generic_rgb64(), blend_src_generic(), blend_tiled_argb(), blend_tiled_generic(), blend_untransformed_argb(), and blend_untransformed_generic().
|
static |
Definition at line 3408 of file qdrawhelper.cpp.
References qFuzzyIsNull().
Referenced by getOperator().
|
inlinestatic |
Definition at line 3149 of file qdrawhelper.cpp.
References BlendTiled, BlendUntransformed, QPixelLayout::BPP16, QPixelLayout::BPP32, QImage::Format_ARGB32_Premultiplied, QImage::Format_RGB32, qPixelLayouts, sourceFetchAny16, sourceFetchAny32, sourceFetchARGB32PM, sourceFetchGeneric, and sourceFetchUntransformed.
Referenced by getOperator().
|
inlinestatic |
Definition at line 5192 of file qdrawhelper.cpp.
References QRgba64::fromArgb32(), QColorTrcLut::fromLinear64(), interpolate255(), toArgb32(), and QColorTrcLut::toLinear64().
Referenced by alphamapblend_argb32().
void handleSpans | ( | int | count, |
const QT_FT_Span * | spans, | ||
const QSpanData * | data, | ||
const Operator & | op | ||
) |
Definition at line 3962 of file qdrawhelper.cpp.
References BufferSize, QPainter::CompositionMode_Source, QT_FT_Span_::coverage, function, i, QT_FT_Span_::len, Operator::mode, qMin(), QT_THREAD_PARALLEL_FILLS, QSpanData::Texture, QT_FT_Span_::x, and QT_FT_Span_::y.
|
static |
Definition at line 1272 of file qdrawhelper.cpp.
References IntermediateBuffer::buffer_ag, IntermediateBuffer::buffer_rb, fixed_scale, qCpuHasFeature, and QT_FASTCALL.
Referenced by fetchTransformedBilinear_simple_scale_helper(), and fetchTransformedBilinearARGB32PM_simple_scale_helper().
|
inlinestatic |
interpolate 4 argb pixels with the distx and disty factor. distx and disty must be between 0 and 16
Definition at line 1146 of file qdrawhelper.cpp.
References tr.
Referenced by fetchTransformedBilinear(), fetchTransformedBilinearARGB32PM_downscale_helper(), and fetchTransformedBilinearARGB32PM_fast_rotate_helper().
|
inlinestatic |
Definition at line 4385 of file qdrawhelper.cpp.
Referenced by blend_sourceOver_rgb16_rgb16().
|
inlinestatic |
Definition at line 4394 of file qdrawhelper.cpp.
Referenced by blend_sourceOver_rgb16_rgb16().
Q_CONSTRUCTOR_FUNCTION | ( | qInitDrawhelperFunctions | ) |
void qBlendGradient | ( | int | count, |
const QT_FT_Span * | spans, | ||
void * | userData | ||
) |
Definition at line 5035 of file qdrawhelper.cpp.
References blend_src_generic(), blend_vertical_gradient_argb(), QImage::Format_A2BGR30_Premultiplied, QImage::Format_A2RGB30_Premultiplied, QImage::Format_ARGB32, QImage::Format_ARGB32_Premultiplied, QImage::Format_BGR30, QImage::Format_Invalid, QImage::Format_RGB30, QImage::Format_RGB32, QImage::Format_RGBA16FPx4, QImage::Format_RGBA16FPx4_Premultiplied, QImage::Format_RGBA32FPx4, QImage::Format_RGBA32FPx4_Premultiplied, QImage::Format_RGBA64, QImage::Format_RGBA64_Premultiplied, QImage::Format_RGBA8888, QImage::Format_RGBX16FPx4, QImage::Format_RGBX32FPx4, QImage::Format_RGBX64, QSpanData::LinearGradient, QSpanData::txop, and QTransform::TxScale.
Referenced by QSpanData::adjustSpanMethods().
void qBlendTexture | ( | int | count, |
const QT_FT_Span * | spans, | ||
void * | userData | ||
) |
Definition at line 4913 of file qdrawhelper.cpp.
References QImage::Format_A2BGR30_Premultiplied, QImage::Format_A2RGB30_Premultiplied, QImage::Format_ARGB32, QImage::Format_ARGB32_Premultiplied, QImage::Format_BGR30, QImage::Format_Grayscale16, QImage::Format_Invalid, QImage::Format_RGB16, QImage::Format_RGB30, QImage::Format_RGBA16FPx4, QImage::Format_RGBA16FPx4_Premultiplied, QImage::Format_RGBA32FPx4, QImage::Format_RGBA32FPx4_Premultiplied, QImage::Format_RGBA64, QImage::Format_RGBA64_Premultiplied, QImage::Format_RGBA8888, QImage::Format_RGBX16FPx4, QImage::Format_RGBX32FPx4, QImage::Format_RGBX64, getBlendType(), processTextureSpansARGB32PM, processTextureSpansGeneric, and processTextureSpansRGB16.
Referenced by QSpanData::adjustSpanMethods().
void qInitBlendFunctions | ( | ) |
Definition at line 552 of file qblendfunctions.cpp.
References QImage::Format_ARGB32_Premultiplied, QImage::Format_RGB16, QImage::Format_RGB32, QImage::Format_RGBA8888_Premultiplied, QImage::Format_RGBX8888, qBlendFunctions, qScaleFunctions, qt_blend_argb32_on_argb32(), qt_blend_argb32_on_rgb16(), qt_blend_rgb16_on_rgb16(), qt_blend_rgb32_on_rgb16(), qt_blend_rgb32_on_rgb32(), qt_scale_image_argb32_on_argb32(), qt_scale_image_argb32_on_rgb16(), qt_scale_image_rgb16_on_rgb16(), qt_scale_image_rgb32_on_rgb32(), qt_transform_image_argb32_on_argb32(), qt_transform_image_argb32_on_rgb16(), qt_transform_image_rgb16_on_rgb16(), qt_transform_image_rgb32_on_rgb32(), and qTransformFunctions.
Referenced by qInitDrawhelperFunctions().
|
static |
Definition at line 6317 of file qdrawhelper.cpp.
References DrawHelper::alphamapBlit, bilinearFastTransformHelperARGB32PM, DrawHelper::bitmapBlit, QPixelLayout::BPP16, comp_func_DestinationAtop_mips_dsp(), comp_func_DestinationIn_mips_dsp(), comp_func_DestinationOut_mips_dsp(), comp_func_DestinationOver_mips_dsp(), comp_func_solid_DestinationAtop_mips_dsp(), comp_func_solid_DestinationIn_mips_dsp(), comp_func_solid_DestinationOver_mips_dsp(), comp_func_solid_SourceAtop_mips_dsp(), comp_func_solid_SourceIn_mips_dsp(), comp_func_solid_SourceOut_mips_dsp(), comp_func_solid_SourceOver_mips_dsp(), comp_func_solid_XOR_mips_dsp(), comp_func_Source_mips_dsp(), comp_func_SourceAtop_mips_dsp(), comp_func_SourceIn_mips_dsp(), comp_func_SourceOut_mips_dsp(), comp_func_XOR_mips_dsp(), QPainter::CompositionMode_DestinationAtop, QPainter::CompositionMode_DestinationIn, QPainter::CompositionMode_DestinationOut, QPainter::CompositionMode_DestinationOver, QPainter::CompositionMode_Plus, QPainter::CompositionMode_Source, QPainter::CompositionMode_SourceAtop, QPainter::CompositionMode_SourceIn, QPainter::CompositionMode_SourceOut, QPainter::CompositionMode_SourceOver, QPainter::CompositionMode_Xor, QPixelLayout::convertToARGB32PM, QPixelLayout::convertToRGBA64PM, destFetchProc, destStoreProc, DownscaleTransform, FastRotateTransform, QPixelLayout::fetchToARGB32PM, QPixelLayout::fetchToRGBA64PM, QImage::Format_A2BGR30_Premultiplied, QImage::Format_A2RGB30_Premultiplied, QImage::Format_ARGB32, QImage::Format_ARGB32_Premultiplied, QImage::Format_ARGB8565_Premultiplied, QImage::Format_BGR888, QImage::Format_RGB16, QImage::Format_RGB32, QImage::Format_RGB444, QImage::Format_RGB888, QImage::Format_RGBA16FPx4, QImage::Format_RGBA16FPx4_Premultiplied, QImage::Format_RGBA32FPx4, QImage::Format_RGBA64, QImage::Format_RGBA8888, QImage::Format_RGBA8888_Premultiplied, QImage::Format_RGBX16FPx4, QImage::Format_RGBX32FPx4, QImage::Format_RGBX64, QImage::Format_RGBX8888, qBlendFunctions, qCpuHasFeature, qDrawHelper, qInitBlendFunctions(), qMemRotateFunctions, qPixelLayouts, qScaleFunctions, qStoreFromRGBA64PM, qt_blend_argb32_on_argb32_mips_dsp(), qt_blend_rgb16_on_rgb16_mips_dsp(), qt_blend_rgb32_on_rgb32_mips_dsp(), qt_destFetchARGB32_mips_dsp(), qt_destStoreARGB32_mips_dsp(), QT_FASTCALL, qt_fetch_radial_gradient, qt_fetchUntransformed_444_mips_dsp(), qt_fetchUntransformed_888_mips_dsp(), qt_fetchUntransformed_argb8565_premultiplied_mips_dsp(), qt_functionForMode64_C, qt_functionForMode_C, qt_functionForModeFP_C, qt_functionForModeSolid64_C, qt_functionForModeSolid_C, qt_functionForModeSolidFP_C, qt_memfill32(), qt_memfill64(), qTransformFunctions, QPixelLayout::rbSwap, SimpleScaleTransform, sourceFetchUntransformed, QPixelLayout::storeFromARGB32PM, and QPixelLayout::storeFromRGB32.
|
inlinestatic |
Definition at line 5531 of file qdrawhelper.cpp.
References qBlue(), qGreen(), qRed(), and rgb.
Referenced by alphargbblend_argb32().
|
static |
Definition at line 5472 of file qdrawhelper.cpp.
References alphamapblend_argb32(), QGuiApplicationPrivate::colorProfileForA8Text(), QString::count(), QRasterBuffer::height(), i, initialize(), QGuiApplicationPrivate::instance(), QT_FT_Span_::len, line, QClipData::m_clipLines, map, qMax(), qMin(), QRasterBuffer::scanLine(), QRasterBuffer::stride(), QColorTrcLut::toLinear(), and QT_FT_Span_::x.
|
static |
Definition at line 5338 of file qdrawhelper.cpp.
References alphamapblend_argb32(), BufferSize, QGuiApplicationPrivate::colorProfileForA8Text(), QString::count(), destFetch(), destFetchProc, destStore(), destStoreProc, QRasterBuffer::format, QRasterBuffer::height(), i, initialize(), QGuiApplicationPrivate::instance(), j, QT_FT_Span_::len, line, QClipData::m_clipLines, map, Q_ASSERT, qMax(), qMin(), QColorTrcLut::toLinear(), QT_FT_Span_::x, and QT_FT_Span_::y.
Referenced by qt_alphamapblit_quint16().
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 | ||
) |
Definition at line 5425 of file qdrawhelper.cpp.
References alphamapblend_quint16(), QString::count(), QRasterBuffer::height(), i, initialize(), QT_FT_Span_::len, line, QClipData::m_clipLines, map, qMax(), qMin(), qt_alphamapblit_generic(), QRasterBuffer::scanLine(), QRasterBuffer::stride(), and QT_FT_Span_::x.
|
static |
Definition at line 5791 of file qdrawhelper.cpp.
References alphargbblend_argb32(), QGuiApplicationPrivate::colorProfileForA32Text(), QString::count(), QRasterBuffer::height(), i, initialize(), QGuiApplicationPrivate::instance(), QT_FT_Span_::len, line, QClipData::m_clipLines, qMax(), qMin(), QRasterBuffer::scanLine(), QRasterBuffer::stride(), QColorTrcLut::toLinear(), and QT_FT_Span_::x.
|
static |
Definition at line 5717 of file qdrawhelper.cpp.
References alphargbblend_argb32(), BufferSize, QGuiApplicationPrivate::colorProfileForA32Text(), QString::count(), destFetch(), destFetchProc, destStore(), destStoreProc, QRasterBuffer::format, QRasterBuffer::height(), i, initialize(), QGuiApplicationPrivate::instance(), j, QT_FT_Span_::len, line, QClipData::m_clipLines, Q_ASSERT, qMax(), qMin(), QColorTrcLut::toLinear(), QT_FT_Span_::x, and QT_FT_Span_::y.
|
inlinestatic |
Definition at line 5155 of file qdrawhelper.cpp.
References map.
|
inlinestatic |
Definition at line 5183 of file qdrawhelper.cpp.
References map.
|
inlinestatic |
Definition at line 5174 of file qdrawhelper.cpp.
References map.
|
inlinestatic |
Definition at line 5164 of file qdrawhelper.cpp.
References ARGB2RGBA(), and map.
|
inlinestatic |
Definition at line 5094 of file qdrawhelper.cpp.
References i, map, qt_memfill(), QRasterBuffer::scanLine(), and QRasterBuffer::stride().
|
static |
Definition at line 3535 of file qdrawhelper.cpp.
Referenced by getOperator().
|
inlinestatic |
|
static |
Definition at line 3387 of file qdrawhelper.cpp.
Referenced by getOperator().
|
inlinestatic |
Definition at line 3316 of file qdrawhelper.cpp.
References LinearGradientValues::dx, LinearGradientValues::dy, e, FIXPT_MAX, FIXPT_SIZE, GRADIENT_STOPTABLE_SIZE, LinearGradientValues::l, Operator::linear, LinearGradientValues::off, rx(), and ry().
const uint *QT_FASTCALL qt_fetch_radial_gradient_plain | ( | uint * | buffer, |
const Operator * | op, | ||
const QSpanData * | data, | ||
int | y, | ||
int | x, | ||
int | length | ||
) |
Definition at line 3460 of file qdrawhelper.cpp.
|
static |
Definition at line 3209 of file qdrawhelper.cpp.
References FIXPT_BITS, FIXPT_SIZE, and qt_gradient_clamp().
Referenced by blend_vertical_gradient(), blend_vertical_gradient_argb(), and GradientBase32::fetchSingle().
Definition at line 6286 of file qdrawhelper.cpp.
References qt_memfill32().
Referenced by qt_memfill().
Definition at line 6244 of file qdrawhelper.cpp.
References Q_FALLTHROUGH, qCpuHasFeature, and qFromBigEndian().
Referenced by qt_memfill().
Definition at line 6305 of file qdrawhelper.cpp.
Referenced by GradientBase32::memfill(), Argb32OperationsC::memfill(), qInitDrawhelperFunctions(), and qt_memfill16().
Definition at line 6235 of file qdrawhelper.cpp.
Referenced by Rgba64OperationsBase::memfill(), qInitDrawhelperFunctions(), and qt_memfill().
|
static |
Definition at line 5916 of file qdrawhelper.cpp.
References QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().
|
static |
Definition at line 5851 of file qdrawhelper.cpp.
References QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().
|
static |
Definition at line 5943 of file qdrawhelper.cpp.
References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::format, and qStoreFromRGBA64PM.
|
static |
Definition at line 5924 of file qdrawhelper.cpp.
References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), and qGray().
|
static |
Definition at line 5883 of file qdrawhelper.cpp.
References QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().
|
static |
Definition at line 5899 of file qdrawhelper.cpp.
References ARGB2RGBA(), QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().
|
static |
Definition at line 5859 of file qdrawhelper.cpp.
References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::format, layout, and qPixelLayouts.
|
static |
Definition at line 5871 of file qdrawhelper.cpp.
References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::format, layout, and qPixelLayouts.
|
static |
Definition at line 5932 of file qdrawhelper.cpp.
References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::format, and qStoreFromRGBA64PM.
|
static |
Definition at line 5908 of file qdrawhelper.cpp.
References QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().
|
static |
Definition at line 5891 of file qdrawhelper.cpp.
References ARGB2RGBA(), QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().
Definition at line 5546 of file qdrawhelper.cpp.
References d, db, qBlue(), qGreen(), qRed(), and qt_div_255().
Referenced by alphargbblend_argb32(), and rgbBlendPixel().
|
inlinestatic |
Definition at line 5536 of file qdrawhelper.cpp.
References QRgba64::fromArgb32(), QColorTrcLut::fromLinear64(), rgbBlend(), toArgb32(), and QColorTrcLut::toLinear64().
Referenced by alphargbblend_argb32().
|
static |
Definition at line 3736 of file qdrawhelper.cpp.
References QPixelLayout::BPP16, QPixelLayout::BPP16FPx4, QPixelLayout::BPP24, QPixelLayout::BPP32, QPixelLayout::BPP32FPx4, QPixelLayout::BPP64, QPixelLayout::BPP8, qt_memfill_template(), and QRasterBuffer::scanLine().
Referenced by blend_color_generic(), blend_color_generic_fp(), and blend_color_generic_rgb64().
|
static |
Definition at line 1889 of file qdrawhelper.cpp.
Referenced by fetchTransformedBilinearARGB32PM(), and qInitDrawhelperFunctions().
|
static |
Definition at line 356 of file qdrawhelper.cpp.
Referenced by getOperator(), qInitDrawhelperFunctions(), qt_alphamapblit_generic(), and qt_alphargbblit_generic().
|
static |
Definition at line 661 of file qdrawhelper.cpp.
Referenced by getOperator(), qInitDrawhelperFunctions(), qt_alphamapblit_generic(), and qt_alphargbblit_generic().
|
constexpr |
Definition at line 119 of file qdrawhelper.cpp.
Referenced by fetchTransformed_fetcher(), fetchTransformedBilinear_fetcher(), and fetchTransformedBilinear_slow_fetcher().
|
constexpr |
Definition at line 48 of file qdrawhelper.cpp.
Referenced by canUseFastMatrixPath(), fetchTransformed_fetcher(), fetchTransformedBilinear(), fetchTransformedBilinear_fetcher(), fetchTransformedBilinear_simple_scale_helper(), fetchTransformedBilinearARGB32PM(), fetchTransformedBilinearARGB32PM_downscale_helper(), fetchTransformedBilinearARGB32PM_fast_rotate_helper(), fetchTransformedBilinearARGB32PM_simple_scale_helper(), fetchTransformedBilinearARGB32PM_upscale_helper(), and intermediate_adder().
|
static |
Definition at line 3573 of file qdrawhelper.cpp.
Referenced by getOperator().
|
static |
Definition at line 3561 of file qdrawhelper.cpp.
Referenced by blend_vertical_gradient_argb(), and getOperator().
|
constexpr |
Definition at line 49 of file qdrawhelper.cpp.
Referenced by fetchTransformedBilinear(), and fetchTransformedBilinearARGB32PM().
|
static |
Definition at line 4865 of file qdrawhelper.cpp.
Referenced by qBlendTexture().
|
static |
Definition at line 4883 of file qdrawhelper.cpp.
Referenced by qBlendTexture().
|
static |
Definition at line 4874 of file qdrawhelper.cpp.
Referenced by qBlendTexture().
DrawHelper qDrawHelper[QImage::NImageFormats] |
Definition at line 5957 of file qdrawhelper.cpp.
Referenced by QSpanData::adjustSpanMethods(), and qInitDrawhelperFunctions().
|
static |
Definition at line 3466 of file qdrawhelper.cpp.
Referenced by getOperator(), and qInitDrawhelperFunctions().
|
extern |
Definition at line 4295 of file qcompositionfunctions.cpp.
Referenced by qInitDrawhelperFunctions().
|
extern |
Definition at line 4254 of file qcompositionfunctions.cpp.
Referenced by qInitDrawhelperFunctions().
|
extern |
Definition at line 4330 of file qcompositionfunctions.cpp.
Referenced by qInitDrawhelperFunctions().
|
extern |
Definition at line 4185 of file qcompositionfunctions.cpp.
Referenced by qInitDrawhelperFunctions().
|
extern |
Definition at line 4144 of file qcompositionfunctions.cpp.
Referenced by qInitDrawhelperFunctions().
|
extern |
Definition at line 4220 of file qcompositionfunctions.cpp.
Referenced by qInitDrawhelperFunctions().
|
static |
Definition at line 3131 of file qdrawhelper.cpp.
Referenced by getSourceFetch().
|
static |
Definition at line 3140 of file qdrawhelper.cpp.
Referenced by getSourceFetch().
|
static |
Definition at line 3122 of file qdrawhelper.cpp.
Referenced by getSourceFetch().
|
static |
Definition at line 3113 of file qdrawhelper.cpp.
Referenced by getSourceFetch().
|
static |
Definition at line 3074 of file qdrawhelper.cpp.
Referenced by getSourceFetch(), and qInitDrawhelperFunctions().