Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qdrawhelper.cpp File Reference

(ade33a91442f8085a7ddeb8e6fdf33463103b119)

#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>
+ Include dependency graph for qdrawhelper.cpp:

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_FASTCALLFetch1PixelFunc) (const uchar *src, int index)
 
typedef void(QT_FASTCALLBilinearFastTransformHelper) (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int fdy)
 

Enumerations

enum  TextureBlendType {
  BlendUntransformed , BlendTiled , BlendTransformed , BlendTransformedTiled ,
  BlendTransformedBilinear , BlendTransformedBilinearTiled , NBlendTypes
}
 
enum  FastTransformTypes {
  SimpleScaleTransform , UpscaleTransform , DownscaleTransform , RotateTransform ,
  FastRotateTransform , NFastTransformTypes
}
 

Functions

template<QPixelLayout::BPP bpp>
static uint QT_FASTCALL fetch1Pixel (const uchar *, int)
 
template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP1LSB > (const uchar *src, int index)
 
template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP1MSB > (const uchar *src, int index)
 
template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP8 > (const uchar *src, int index)
 
template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP16 > (const uchar *src, int index)
 
template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP24 > (const uchar *src, int index)
 
template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP32 > (const uchar *src, int index)
 
template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP64 > (const uchar *src, int index)
 
template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP16FPx4 > (const uchar *src, int index)
 
template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP32FPx4 > (const uchar *src, int index)
 
static uint *QT_FASTCALL destFetchMono (uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
 
static uint *QT_FASTCALL destFetchMonoLsb (uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
 
static uint *QT_FASTCALL destFetchARGB32P (uint *, QRasterBuffer *rasterBuffer, int x, int y, int)
 
static uint *QT_FASTCALL destFetchRGB16 (uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
 
static uint *QT_FASTCALL destFetch (uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
 
static uint *QT_FASTCALL destFetchUndefined (uint *buffer, QRasterBuffer *, int, int, int)
 
static QRgb findNearestColor (QRgb color, QRasterBuffer *rbuf)
 
static void QT_FASTCALL destStoreMono (QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
 
static void QT_FASTCALL destStoreMonoLsb (QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
 
static void QT_FASTCALL destStoreRGB16 (QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
 
static void QT_FASTCALL destStore (QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
 
static void QT_FASTCALL destStoreGray8 (QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
 
static void QT_FASTCALL destStoreGray16 (QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
 
static const uint *QT_FASTCALL fetchUntransformed (uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
 
static const uint *QT_FASTCALL fetchUntransformedARGB32PM (uint *, const Operator *, const QSpanData *data, int y, int x, int)
 
static const uint *QT_FASTCALL fetchUntransformedRGB16 (uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
 
template<TextureBlendType blendType>
void fetchTransformed_pixelBounds (int max, int l1, int l2, int &v)
 
static bool canUseFastMatrixPath (const qreal cx, const qreal cy, const qsizetype length, const QSpanData *data)
 
template<TextureBlendType blendType, QPixelLayout::BPP bpp, typename T >
static void QT_FASTCALL fetchTransformed_fetcher (T *buffer, const QSpanData *data, int y, int x, int length)
 
template<TextureBlendType blendType, QPixelLayout::BPP bpp>
static const uint *QT_FASTCALL fetchTransformed (uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
 
static uint interpolate_4_pixels_16 (uint tl, uint tr, uint bl, uint br, uint distx, uint disty)
 
template<TextureBlendType blendType>
void fetchTransformedBilinear_pixelBounds (int max, int l1, int l2, int &v1, int &v2)
 
template<>
void fetchTransformedBilinear_pixelBounds< BlendTransformedBilinearTiled > (int max, int, int, int &v1, int &v2)
 
template<>
void fetchTransformedBilinear_pixelBounds< BlendTransformedBilinear > (int, int l1, int l2, int &v1, int &v2)
 
static void QT_FASTCALL intermediate_adder (uint *b, uint *end, const IntermediateBuffer &intermediate, int offset, int &fx, int fdx)
 
template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_simple_scale_helper (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int)
 
template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_upscale_helper (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int)
 
template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_downscale_helper (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int)
 
template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_rotate_helper (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int fdy)
 
template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_fast_rotate_helper (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int fdy)
 
template<TextureBlendType blendType>
static const uint *QT_FASTCALL fetchTransformedBilinearARGB32PM (uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
 
template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinear_simple_scale_helper (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int)
 
template<TextureBlendType blendType, QPixelLayout::BPP bpp, typename T >
static void QT_FASTCALL fetchTransformedBilinear_fetcher (T *buf1, T *buf2, const int len, const QTextureData &image, int fx, int fy, const int fdx, const int fdy)
 
template<TextureBlendType blendType, QPixelLayout::BPP bpp, typename T >
static void QT_FASTCALL fetchTransformedBilinear_slow_fetcher (T *buf1, T *buf2, ushort *distxs, ushort *distys, const int len, const QTextureData &image, qreal &fx, qreal &fy, qreal &fw, const qreal fdx, const qreal fdy, const qreal fdw)
 
template<TextureBlendType blendType, QPixelLayout::BPP bpp>
static const uint *QT_FASTCALL fetchTransformedBilinear (uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
 
static SourceFetchProc getSourceFetch (TextureBlendType blendType, QImage::Format format)
 
static uint qt_gradient_pixel_fixed (const QGradientData *data, int fixed_pos)
 
static void QT_FASTCALL getLinearGradientValues (LinearGradientValues *v, const QSpanData *data)
 
template<class GradientBase , typename BlendType >
static const BlendType *QT_FASTCALL qt_fetch_linear_gradient_template (BlendType *buffer, const Operator *op, const QSpanData *data, int y, int x, int length)
 
static const uint *QT_FASTCALL qt_fetch_linear_gradient (uint *buffer, const Operator *op, const QSpanData *data, int y, int x, int length)
 
static void QT_FASTCALL getRadialGradientValues (RadialGradientValues *v, const QSpanData *data)
 
const uint *QT_FASTCALL qt_fetch_radial_gradient_plain (uint *buffer, const Operator *op, const QSpanData *data, int y, int x, int length)
 
template<class GradientBase , typename BlendType >
static const BlendType *QT_FASTCALL qt_fetch_conical_gradient_template (BlendType *buffer, const QSpanData *data, int y, int x, int length)
 
static const uint *QT_FASTCALL qt_fetch_conical_gradient (uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
 
static TextureBlendType getBlendType (const QSpanData *data)
 
static Operator getOperator (const QSpanData *data, const QT_FT_Span *spans, int spanCount)
 
static void spanfill_from_first (QRasterBuffer *rasterBuffer, QPixelLayout::BPP bpp, int x, int y, int length)
 
static void blend_color_generic (int count, const QT_FT_Span *spans, void *userData)
 
static void blend_color_argb (int count, const QT_FT_Span *spans, void *userData)
 
static void blend_color_generic_rgb64 (int count, const QT_FT_Span *spans, void *userData)
 
static void blend_color_generic_fp (int count, const QT_FT_Span *spans, void *userData)
 
template<typename T >
void handleSpans (int count, const QT_FT_Span *spans, const QSpanData *data, const Operator &op)
 
static void blend_src_generic (int count, const QT_FT_Span *spans, void *userData)
 
static void blend_untransformed_generic (int count, const QT_FT_Span *spans, void *userData)
 
static void blend_untransformed_argb (int count, const QT_FT_Span *spans, void *userData)
 
static quint16 interpolate_pixel_rgb16_255 (quint16 x, quint8 a, quint16 y, quint8 b)
 
static quint32 interpolate_pixel_rgb16x2_255 (quint32 x, quint8 a, quint32 y, quint8 b)
 
static void blend_sourceOver_rgb16_rgb16 (quint16 *Q_DECL_RESTRICT dest, const quint16 *Q_DECL_RESTRICT src, int length, const quint8 alpha, const quint8 ialpha)
 
static void blend_untransformed_rgb565 (int count, const QT_FT_Span *spans, void *userData)
 
static void blend_tiled_generic (int count, const QT_FT_Span *spans, void *userData)
 
static void blend_tiled_argb (int count, const QT_FT_Span *spans, void *userData)
 
static void blend_tiled_rgb565 (int count, const QT_FT_Span *spans, void *userData)
 
void qBlendTexture (int count, const QT_FT_Span *spans, void *userData)
 
static bool calculate_fixed_gradient_factors (int count, const QT_FT_Span *spans, const QSpanData *data, const LinearGradientValues &linear, int *pyinc, int *poff)
 
static bool blend_vertical_gradient_argb (int count, const QT_FT_Span *spans, void *userData)
 
template<ProcessSpans blend_color>
static bool blend_vertical_gradient (int count, const QT_FT_Span *spans, void *userData)
 
void qBlendGradient (int count, const QT_FT_Span *spans, void *userData)
 
template<class DST >
static void qt_bitmapblit_template (QRasterBuffer *rasterBuffer, int x, int y, DST color, const uchar *map, int mapWidth, int mapHeight, int mapStride)
 
static void qt_bitmapblit_argb32 (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *map, int mapWidth, int mapHeight, int mapStride)
 
static void qt_bitmapblit_rgba8888 (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *map, int mapWidth, int mapHeight, int mapStride)
 
template<QtPixelOrder PixelOrder>
static void qt_bitmapblit_rgb30 (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *map, int mapWidth, int mapHeight, int mapStride)
 
static void qt_bitmapblit_quint16 (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *map, int mapWidth, int mapHeight, int mapStride)
 
static void grayBlendPixel (quint32 *dst, int coverage, QRgba64 srcLinear, const QColorTrcLut *colorProfile)
 
static void alphamapblend_argb32 (quint32 *dst, int coverage, QRgba64 srcLinear, quint32 src, const QColorTrcLut *colorProfile)
 
static void qt_alphamapblit_generic (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *map, int mapWidth, int mapHeight, int mapStride, const QClipData *clip, bool useGammaCorrection)
 
static void alphamapblend_quint16 (int coverage, quint16 *dest, int x, const quint16 srcColor)
 
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)
 
static void qt_alphamapblit_argb32 (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *map, int mapWidth, int mapHeight, int mapStride, const QClipData *clip, bool useGammaCorrection)
 
static int qRgbAvg (QRgb rgb)
 
static void rgbBlendPixel (quint32 *dst, int coverage, QRgba64 slinear, const QColorTrcLut *colorProfile)
 
static QRgb rgbBlend (QRgb d, QRgb s, uint rgbAlpha)
 
static void alphargbblend_argb32 (quint32 *dst, uint coverage, const QRgba64 &srcLinear, quint32 src, const QColorTrcLut *colorProfile)
 
static void qt_alphargbblit_generic (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uint *src, int mapWidth, int mapHeight, int srcStride, const QClipData *clip, bool useGammaCorrection)
 
static void qt_alphargbblit_argb32 (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uint *src, int mapWidth, int mapHeight, int srcStride, const QClipData *clip, bool useGammaCorrection)
 
static void qt_rectfill_argb32 (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
static void qt_rectfill_quint16 (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
static void qt_rectfill_quint24 (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
static void qt_rectfill_nonpremul_argb32 (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
static void qt_rectfill_rgba (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
static void qt_rectfill_nonpremul_rgba (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
template<QtPixelOrder PixelOrder>
static void qt_rectfill_rgb30 (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
static void qt_rectfill_alpha (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
static void qt_rectfill_gray (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
static void qt_rectfill_quint64 (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
static void qt_rectfill_fp32x4 (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
 
void qt_memfill64 (quint64 *dest, quint64 color, qsizetype count)
 
void qt_memfill24 (quint24 *dest, quint24 color, qsizetype count)
 
void qt_memfill16 (quint16 *dest, quint16 value, qsizetype count)
 
void qt_memfill32 (quint32 *dest, quint32 color, qsizetype count)
 
void qInitBlendFunctions ()
 
static void qInitDrawhelperFunctions ()
 
 Q_CONSTRUCTOR_FUNCTION (qInitDrawhelperFunctions)
 

Variables

constexpr int fixed_scale = 1 << 16
 
constexpr int half_point = 1 << 15
 
constexpr Fetch1PixelFunc fetch1PixelTable [QPixelLayout::BPPCount]
 
static DestFetchProc destFetchProc []
 
static DestStoreProc destStoreProc []
 
static BilinearFastTransformHelper bilinearFastTransformHelperARGB32PM [2][NFastTransformTypes]
 
static SourceFetchProc sourceFetchUntransformed []
 
static const SourceFetchProc sourceFetchGeneric []
 
static SourceFetchProc sourceFetchARGB32PM []
 
static SourceFetchProc sourceFetchAny16 []
 
static SourceFetchProc sourceFetchAny32 []
 
static SourceFetchProc qt_fetch_radial_gradient = qt_fetch_radial_gradient_plain
 
CompositionFunctionSolid qt_functionForModeSolid_C []
 
CompositionFunctionSolid64 qt_functionForModeSolid64_C []
 
CompositionFunctionSolidFP qt_functionForModeSolidFP_C []
 
static const CompositionFunctionSolidfunctionForModeSolid = qt_functionForModeSolid_C
 
CompositionFunction qt_functionForMode_C []
 
CompositionFunction64 qt_functionForMode64_C []
 
CompositionFunctionFP qt_functionForModeFP_C []
 
static const CompositionFunctionfunctionForMode = qt_functionForMode_C
 
static const ProcessSpans processTextureSpansARGB32PM [NBlendTypes]
 
static const ProcessSpans processTextureSpansRGB16 [NBlendTypes]
 
static const ProcessSpans processTextureSpansGeneric [NBlendTypes]
 
DrawHelper qDrawHelper []
 

Macro Definition Documentation

◆ FIXPT_BITS

#define FIXPT_BITS   8

Definition at line 3242 of file qdrawhelper.cpp.

Referenced by qt_gradient_pixel_fixed().

◆ FIXPT_MAX

#define FIXPT_MAX   (INT_MAX >> (FIXPT_BITS + 1))

Definition at line 3244 of file qdrawhelper.cpp.

Referenced by qt_fetch_linear_gradient_template().

◆ FIXPT_SIZE

#define FIXPT_SIZE   (1<<FIXPT_BITS)

◆ MASK

#define MASK ( src,
a )   src = BYTE_MUL(src, a)

Definition at line 42 of file qdrawhelper.cpp.

◆ QT_THREAD_PARALLEL_FILLS

Typedef Documentation

◆ BilinearFastTransformHelper

typedef void(QT_FASTCALL * BilinearFastTransformHelper) (uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int fdy)

Definition at line 1317 of file qdrawhelper.cpp.

◆ Fetch1PixelFunc

typedef uint(QT_FASTCALL * Fetch1PixelFunc) (const uchar *src, int index)

Definition at line 117 of file qdrawhelper.cpp.

Enumeration Type Documentation

◆ FastTransformTypes

Enumerator
SimpleScaleTransform 
UpscaleTransform 
DownscaleTransform 
RotateTransform 
FastRotateTransform 
NFastTransformTypes 

Definition at line 1281 of file qdrawhelper.cpp.

◆ TextureBlendType

Enumerator
BlendUntransformed 
BlendTiled 
BlendTransformed 
BlendTransformedTiled 
BlendTransformedBilinear 
BlendTransformedBilinearTiled 
NBlendTypes 

Definition at line 846 of file qdrawhelper.cpp.

Function Documentation

◆ alphamapblend_argb32()

static void alphamapblend_argb32 ( quint32 * dst,
int coverage,
QRgba64 srcLinear,
quint32 src,
const QColorTrcLut * colorProfile )
inlinestatic

Definition at line 5266 of file qdrawhelper.cpp.

References blend_pixel(), QRgba64::fromArgb32(), grayBlendPixel(), and QRgb.

Referenced by qt_alphamapblit_argb32(), and qt_alphamapblit_generic().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ alphamapblend_quint16()

static void alphamapblend_quint16 ( int coverage,
quint16 * dest,
int x,
const quint16 srcColor )
inlinestatic

Definition at line 5477 of file qdrawhelper.cpp.

References BYTE_MUL_RGB16().

Referenced by qt_alphamapblit_quint16().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ alphargbblend_argb32()

static void alphargbblend_argb32 ( quint32 * dst,
uint coverage,
const QRgba64 & srcLinear,
quint32 src,
const QColorTrcLut * colorProfile )
inlinestatic

Definition at line 5650 of file qdrawhelper.cpp.

References blend_pixel(), QRgba64::fromArgb32(), qAlpha(), QRgb, qRgbAvg(), rgbBlend(), and rgbBlendPixel().

Referenced by qt_alphargbblit_argb32(), and qt_alphargbblit_generic().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blend_color_argb()

static void blend_color_argb ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 3879 of file qdrawhelper.cpp.

References BYTE_MUL(), QPainter::CompositionMode_Source, QT_FT_Span_::coverage, Operator::funcSolid, getOperator(), i, QT_FT_Span_::len, Operator::mode, qt_memfill(), QT_THREAD_PARALLEL_FILLS, QT_FT_Span_::x, and QT_FT_Span_::y.

+ Here is the call graph for this function:

◆ blend_color_generic()

static void blend_color_generic ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 3845 of file qdrawhelper.cpp.

References QPixelLayout::bpp, QPixelLayout::BPP8, BufferSize, QPainter::CompositionMode_Source, Operator::destFetch, Operator::destStore, Operator::funcSolid, 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blend_color_generic_fp()

static void blend_color_generic_fp ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 3960 of file qdrawhelper.cpp.

References blend_color_generic(), QPixelLayout::bpp, QPixelLayout::BPP8, BufferSize, QPainter::CompositionMode_Source, Operator::destFetchFP, Operator::destStoreFP, Operator::funcSolidFP, 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.

+ Here is the call graph for this function:

◆ blend_color_generic_rgb64()

static void blend_color_generic_rgb64 ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 3916 of file qdrawhelper.cpp.

References blend_color_generic(), QPixelLayout::bpp, QPixelLayout::BPP8, BufferSize, QPainter::CompositionMode_Source, Operator::destFetch64, Operator::destStore64, Operator::funcSolid64, 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.

+ Here is the call graph for this function:

◆ blend_sourceOver_rgb16_rgb16()

static void blend_sourceOver_rgb16_rgb16 ( quint16 *Q_DECL_RESTRICT dest,
const quint16 *Q_DECL_RESTRICT src,
int length,
const quint8 alpha,
const quint8 ialpha )
inlinestatic

Definition at line 4448 of file qdrawhelper.cpp.

References interpolate_pixel_rgb16_255(), and interpolate_pixel_rgb16x2_255().

Referenced by blend_tiled_rgb565(), and blend_untransformed_rgb565().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blend_src_generic()

static void blend_src_generic ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 4179 of file qdrawhelper.cpp.

References getOperator().

Referenced by qBlendGradient().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blend_tiled_argb()

static void blend_tiled_argb ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 4757 of file qdrawhelper.cpp.

References blend_tiled_generic(), BufferSize, QT_FT_Span_::coverage, QImage::Format_ARGB32_Premultiplied, QImage::Format_RGB32, Operator::func, getOperator(), QT_FT_Span_::len, qMin(), qRound(), QT_THREAD_PARALLEL_FILLS, QT_FT_Span_::x, and QT_FT_Span_::y.

+ Here is the call graph for this function:

◆ blend_tiled_generic()

static void blend_tiled_generic ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 4538 of file qdrawhelper.cpp.

References BufferSize, QT_FT_Span_::coverage, Operator::destFetch, Operator::destStore, Operator::func, 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blend_tiled_rgb565()

static void blend_tiled_rgb565 ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 4810 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, QT_FT_Span_::len, qMin(), qRound(), QT_THREAD_PARALLEL_FILLS, QSpanData::rasterBuffer, QT_FT_Span_::x, and QT_FT_Span_::y.

+ Here is the call graph for this function:

◆ blend_untransformed_argb()

static void blend_untransformed_argb ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 4384 of file qdrawhelper.cpp.

References blend_untransformed_generic(), QT_FT_Span_::coverage, QImage::Format_ARGB32_Premultiplied, QImage::Format_RGB32, Operator::func, getOperator(), QT_FT_Span_::len, qRound(), QT_THREAD_PARALLEL_FILLS, QT_FT_Span_::x, and QT_FT_Span_::y.

+ Here is the call graph for this function:

◆ blend_untransformed_generic()

static void blend_untransformed_generic ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 4214 of file qdrawhelper.cpp.

References BufferSize, QPainter::CompositionMode_Source, QT_FT_Span_::coverage, Operator::destFetch, destFetchARGB32P(), Operator::destStore, Operator::func, 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blend_untransformed_rgb565()

static void blend_untransformed_rgb565 ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 4481 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, QT_FT_Span_::len, qRound(), QT_THREAD_PARALLEL_FILLS, QSpanData::rasterBuffer, QT_FT_Span_::x, and QT_FT_Span_::y.

+ Here is the call graph for this function:

◆ blend_vertical_gradient()

template<ProcessSpans blend_color>
static bool blend_vertical_gradient ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 5074 of file qdrawhelper.cpp.

References calculate_fixed_gradient_factors(), getLinearGradientValues(), qt_gradient_pixel_fixed(), and QT_FT_Span_::y.

+ Here is the call graph for this function:

◆ blend_vertical_gradient_argb()

static bool blend_vertical_gradient_argb ( int count,
const QT_FT_Span * spans,
void * userData )
static

Definition at line 5045 of file qdrawhelper.cpp.

References calculate_fixed_gradient_factors(), QT_FT_Span_::coverage, functionForModeSolid, getLinearGradientValues(), QT_FT_Span_::len, qt_gradient_pixel_fixed(), QT_FT_Span_::x, and QT_FT_Span_::y.

Referenced by qBlendGradient().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ calculate_fixed_gradient_factors()

static bool calculate_fixed_gradient_factors ( int count,
const QT_FT_Span * spans,
const QSpanData * data,
const LinearGradientValues & linear,
int * pyinc,
int * poff )
inlinestatic

Definition at line 5013 of file qdrawhelper.cpp.

References LinearGradientValues::dy, FIXPT_SIZE, GRADIENT_STOPTABLE_SIZE, LinearGradientValues::off, and QT_FT_Span_::y.

Referenced by blend_vertical_gradient(), and blend_vertical_gradient_argb().

+ Here is the caller graph for this function:

◆ canUseFastMatrixPath()

static bool canUseFastMatrixPath ( const qreal cx,
const qreal cy,
const qsizetype length,
const QSpanData * data )
inlinestatic

Definition at line 919 of file qdrawhelper.cpp.

References fixed_scale, and Q_UNLIKELY.

Referenced by fetchTransformed_fetcher(), fetchTransformedBilinear(), and fetchTransformedBilinearARGB32PM().

+ Here is the caller graph for this function:

◆ destFetch()

static uint *QT_FASTCALL destFetch ( uint * buffer,
QRasterBuffer * rasterBuffer,
int x,
int y,
int length )
static

Definition at line 351 of file qdrawhelper.cpp.

References QRasterBuffer::format, layout, qPixelLayouts, and QRasterBuffer::scanLine().

Referenced by qt_alphamapblit_generic(), and qt_alphargbblit_generic().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ destFetchARGB32P()

static uint *QT_FASTCALL destFetchARGB32P ( uint * ,
QRasterBuffer * rasterBuffer,
int x,
int y,
int  )
static

Definition at line 338 of file qdrawhelper.cpp.

References QRasterBuffer::scanLine().

Referenced by blend_untransformed_generic(), BlendSrcGeneric::fetch(), and getOperator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ destFetchMono()

static uint *QT_FASTCALL destFetchMono ( uint * buffer,
QRasterBuffer * rasterBuffer,
int x,
int y,
int length )
static

Definition at line 312 of file qdrawhelper.cpp.

References QRasterBuffer::destColor0, QRasterBuffer::destColor1, Q_DECL_RESTRICT, and QRasterBuffer::scanLine().

+ Here is the call graph for this function:

◆ destFetchMonoLsb()

static uint *QT_FASTCALL destFetchMonoLsb ( uint * buffer,
QRasterBuffer * rasterBuffer,
int x,
int y,
int length )
static

Definition at line 325 of file qdrawhelper.cpp.

References QRasterBuffer::destColor0, QRasterBuffer::destColor1, Q_DECL_RESTRICT, and QRasterBuffer::scanLine().

+ Here is the call graph for this function:

◆ destFetchRGB16()

static uint *QT_FASTCALL destFetchRGB16 ( uint * buffer,
QRasterBuffer * rasterBuffer,
int x,
int y,
int length )
static

Definition at line 343 of file qdrawhelper.cpp.

References i, Q_DECL_RESTRICT, qConvertRgb16To32(), and QRasterBuffer::scanLine().

+ Here is the call graph for this function:

◆ destFetchUndefined()

static uint *QT_FASTCALL destFetchUndefined ( uint * buffer,
QRasterBuffer * ,
int ,
int ,
int  )
static

Definition at line 357 of file qdrawhelper.cpp.

Referenced by getOperator().

+ Here is the caller graph for this function:

◆ destStore()

static void QT_FASTCALL destStore ( QRasterBuffer * rasterBuffer,
int x,
int y,
const uint * buffer,
int length )
static

Definition at line 620 of file qdrawhelper.cpp.

References QRasterBuffer::format, layout, qPixelLayouts, and QRasterBuffer::scanLine().

Referenced by qt_alphamapblit_generic(), and qt_alphargbblit_generic().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ destStoreGray16()

static void QT_FASTCALL destStoreGray16 ( QRasterBuffer * rasterBuffer,
int x,
int y,
const uint * buffer,
int length )
static

Definition at line 651 of file qdrawhelper.cpp.

References BufferSize, QRasterBuffer::colorSpace, QRgba64::fromArgb32(), QColorSpacePrivate::get(), QColorTransformPrivate::get(), QColorTransformPrivate::InputPremultiplied, QColorSpace::isValid(), qIsGray(), qRed(), QRasterBuffer::scanLine(), and QColorSpace::SRgb.

+ Here is the call graph for this function:

◆ destStoreGray8()

static void QT_FASTCALL destStoreGray8 ( QRasterBuffer * rasterBuffer,
int x,
int y,
const uint * buffer,
int length )
static

Definition at line 630 of file qdrawhelper.cpp.

References QRasterBuffer::colorSpace, QColorSpacePrivate::get(), QColorTransformPrivate::get(), QColorTransformPrivate::InputPremultiplied, QColorSpace::isValid(), qIsGray(), qRed(), QRasterBuffer::scanLine(), and QColorSpace::SRgb.

+ Here is the call graph for this function:

◆ destStoreMono()

static void QT_FASTCALL destStoreMono ( QRasterBuffer * rasterBuffer,
int x,
int y,
const uint * buffer,
int length )
static

Definition at line 559 of file qdrawhelper.cpp.

References QRasterBuffer::destColor0, QRasterBuffer::destColor1, findNearestColor(), i, QRasterBuffer::monoDestinationWithClut, Q_DECL_RESTRICT, qGray(), qt_bayer_matrix, and QRasterBuffer::scanLine().

+ Here is the call graph for this function:

◆ destStoreMonoLsb()

static void QT_FASTCALL destStoreMonoLsb ( QRasterBuffer * rasterBuffer,
int x,
int y,
const uint * buffer,
int length )
static

Definition at line 586 of file qdrawhelper.cpp.

References QRasterBuffer::destColor0, QRasterBuffer::destColor1, findNearestColor(), i, QRasterBuffer::monoDestinationWithClut, Q_DECL_RESTRICT, qGray(), qt_bayer_matrix, and QRasterBuffer::scanLine().

+ Here is the call graph for this function:

◆ destStoreRGB16()

static void QT_FASTCALL destStoreRGB16 ( QRasterBuffer * rasterBuffer,
int x,
int y,
const uint * buffer,
int length )
static

Definition at line 613 of file qdrawhelper.cpp.

References i, qConvertRgb32To16(), and QRasterBuffer::scanLine().

+ Here is the call graph for this function:

◆ fetch1Pixel()

template<QPixelLayout::BPP bpp>
static uint QT_FASTCALL fetch1Pixel ( const uchar * ,
int  )
inlinestatic

Definition at line 52 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP16 >()

template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP16 > ( const uchar * src,
int index )
inline

Definition at line 76 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP16FPx4 >()

template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP16FPx4 > ( const uchar * src,
int index )
inline

Definition at line 102 of file qdrawhelper.cpp.

References QRgbaFloat< F >::toArgb32().

+ Here is the call graph for this function:

◆ fetch1Pixel< QPixelLayout::BPP1LSB >()

template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP1LSB > ( const uchar * src,
int index )
inline

Definition at line 58 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP1MSB >()

template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP1MSB > ( const uchar * src,
int index )
inline

Definition at line 64 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP24 >()

template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP24 > ( const uchar * src,
int index )
inline

Definition at line 82 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP32 >()

template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP32 > ( const uchar * src,
int index )
inline

Definition at line 88 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP32FPx4 >()

template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP32FPx4 > ( const uchar * src,
int index )
inline

Definition at line 110 of file qdrawhelper.cpp.

References QRgbaFloat< F >::toArgb32().

+ Here is the call graph for this function:

◆ fetch1Pixel< QPixelLayout::BPP64 >()

template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP64 > ( const uchar * src,
int index )
inline

Definition at line 94 of file qdrawhelper.cpp.

References QRgba64::toArgb32().

+ Here is the call graph for this function:

◆ fetch1Pixel< QPixelLayout::BPP8 >()

template<>
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP8 > ( const uchar * src,
int index )
inline

Definition at line 70 of file qdrawhelper.cpp.

◆ fetchTransformed()

template<TextureBlendType blendType, QPixelLayout::BPP bpp>
static const uint *QT_FASTCALL fetchTransformed ( uint * buffer,
const Operator * ,
const QSpanData * data,
int y,
int x,
int length )
static

Definition at line 1101 of file qdrawhelper.cpp.

References BlendTransformed, BlendTransformedTiled, layout, and qPixelLayouts.

◆ fetchTransformed_fetcher()

template<TextureBlendType blendType, QPixelLayout::BPP bpp, typename T >
static void QT_FASTCALL fetchTransformed_fetcher ( T * buffer,
const QSpanData * data,
int y,
int x,
int length )
static

Definition at line 937 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.

+ Here is the call graph for this function:

◆ fetchTransformed_pixelBounds()

template<TextureBlendType blendType>
void fetchTransformed_pixelBounds ( int max,
int l1,
int l2,
int & v )
inline

Definition at line 906 of file qdrawhelper.cpp.

References BlendTransformed, BlendTransformedTiled, and qBound().

+ Here is the call graph for this function:

◆ fetchTransformedBilinear()

template<TextureBlendType blendType, QPixelLayout::BPP bpp>
static const uint *QT_FASTCALL fetchTransformedBilinear ( uint * buffer,
const Operator * ,
const QSpanData * data,
int y,
int x,
int length )
static

Definition at line 2335 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.

+ Here is the call graph for this function:

◆ fetchTransformedBilinear_fetcher()

template<TextureBlendType blendType, QPixelLayout::BPP bpp, typename T >
static void QT_FASTCALL fetchTransformedBilinear_fetcher ( T * buf1,
T * buf2,
const int len,
const QTextureData & image,
int fx,
int fy,
const int fdx,
const int fdy )
static

Definition at line 2122 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.

+ Here is the call graph for this function:

◆ fetchTransformedBilinear_pixelBounds()

template<TextureBlendType blendType>
void fetchTransformedBilinear_pixelBounds ( int max,
int l1,
int l2,
int & v1,
int & v2 )

◆ fetchTransformedBilinear_pixelBounds< BlendTransformedBilinear >()

template<>
void fetchTransformedBilinear_pixelBounds< BlendTransformedBilinear > ( int ,
int l1,
int l2,
int & v1,
int & v2 )
inline

Definition at line 1269 of file qdrawhelper.cpp.

References Q_ASSERT.

◆ fetchTransformedBilinear_pixelBounds< BlendTransformedBilinearTiled >()

template<>
void fetchTransformedBilinear_pixelBounds< BlendTransformedBilinearTiled > ( int max,
int ,
int ,
int & v1,
int & v2 )
inline

Definition at line 1256 of file qdrawhelper.cpp.

References Q_ASSERT.

◆ fetchTransformedBilinear_simple_scale_helper()

template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinear_simple_scale_helper ( uint * b,
uint * end,
const QTextureData & image,
int & fx,
int & fy,
int fdx,
int  )
static

Definition at line 2028 of file qdrawhelper.cpp.

References BlendTransformedBilinearTiled, IntermediateBuffer::buffer_rb, BufferSize, fixed_scale, i, intermediate_adder(), layout, Q_ASSERT, qAbs(), qMax(), qMin(), qPixelLayouts, and s2.

+ Here is the call graph for this function:

◆ fetchTransformedBilinear_slow_fetcher()

template<TextureBlendType blendType, QPixelLayout::BPP bpp, typename T >
static void QT_FASTCALL fetchTransformedBilinear_slow_fetcher ( T * buf1,
T * buf2,
ushort * distxs,
ushort * distys,
const int len,
const QTextureData & image,
qreal & fx,
qreal & fy,
qreal & fw,
const qreal fdx,
const qreal fdy,
const qreal fdw )
static

Definition at line 2283 of file qdrawhelper.cpp.

References QPixelLayout::BPP32, QPixelLayout::BPPNone, fetch1PixelTable, i, layout, Q_ASSERT, qFloor(), qPixelLayouts, s1, and s2.

+ Here is the call graph for this function:

◆ fetchTransformedBilinearARGB32PM()

template<TextureBlendType blendType>
static const uint *QT_FASTCALL fetchTransformedBilinearARGB32PM ( uint * buffer,
const Operator * ,
const QSpanData * data,
int y,
int x,
int length )
static

Definition at line 1927 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.

+ Here is the call graph for this function:

◆ fetchTransformedBilinearARGB32PM_downscale_helper()

template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_downscale_helper ( uint * b,
uint * end,
const QTextureData & image,
int & fx,
int & fy,
int fdx,
int  )
static

Definition at line 1507 of file qdrawhelper.cpp.

References BlendTransformedBilinearTiled, fixed_scale, hasFastInterpolate4(), interpolate_4_pixels(), interpolate_4_pixels_16(), INTERPOLATE_PIXEL_256(), qMin(), s2, and tr.

+ Here is the call graph for this function:

◆ fetchTransformedBilinearARGB32PM_fast_rotate_helper()

template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_fast_rotate_helper ( uint * b,
uint * end,
const QTextureData & image,
int & fx,
int & fy,
int fdx,
int fdy )
static

Definition at line 1684 of file qdrawhelper.cpp.

References BlendTransformedBilinearTiled, fixed_scale, hasFastInterpolate4(), interpolate_4_pixels(), interpolate_4_pixels_16(), qMin(), s2, and tr.

+ Here is the call graph for this function:

◆ fetchTransformedBilinearARGB32PM_rotate_helper()

template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_rotate_helper ( uint * b,
uint * end,
const QTextureData & image,
int & fx,
int & fy,
int fdx,
int fdy )
static

Definition at line 1651 of file qdrawhelper.cpp.

References interpolate_4_pixels(), s2, and tr.

+ Here is the call graph for this function:

◆ fetchTransformedBilinearARGB32PM_simple_scale_helper()

template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_simple_scale_helper ( uint * b,
uint * end,
const QTextureData & image,
int & fx,
int & fy,
int fdx,
int  )
static

Definition at line 1320 of file qdrawhelper.cpp.

References BlendTransformedBilinearTiled, BufferSize, fixed_scale, intermediate_adder(), Q_ASSERT, qAbs(), qMin(), and s2.

+ Here is the call graph for this function:

◆ fetchTransformedBilinearARGB32PM_upscale_helper()

template<TextureBlendType blendType>
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_upscale_helper ( uint * b,
uint * end,
const QTextureData & image,
int & fx,
int & fy,
int fdx,
int  )
static

Definition at line 1449 of file qdrawhelper.cpp.

References BlendTransformedBilinearTiled, fixed_scale, interpolate_4_pixels(), INTERPOLATE_PIXEL_256(), qMin(), s2, and tr.

+ Here is the call graph for this function:

◆ fetchUntransformed()

static const uint *QT_FASTCALL fetchUntransformed ( uint * buffer,
const Operator * ,
const QSpanData * data,
int y,
int x,
int length )
static

Definition at line 856 of file qdrawhelper.cpp.

References layout, and qPixelLayouts.

◆ fetchUntransformedARGB32PM()

static const uint *QT_FASTCALL fetchUntransformedARGB32PM ( uint * ,
const Operator * ,
const QSpanData * data,
int y,
int x,
int  )
static

Definition at line 863 of file qdrawhelper.cpp.

◆ fetchUntransformedRGB16()

static const uint *QT_FASTCALL fetchUntransformedRGB16 ( uint * buffer,
const Operator * ,
const QSpanData * data,
int y,
int x,
int length )
static

Definition at line 870 of file qdrawhelper.cpp.

References i, and qConvertRgb16To32().

+ Here is the call graph for this function:

◆ findNearestColor()

static QRgb findNearestColor ( QRgb color,
QRasterBuffer * rbuf )
inlinestatic

Definition at line 529 of file qdrawhelper.cpp.

References qBlue(), qGreen(), qRed(), QRgb, and rx().

Referenced by destStoreMono(), and destStoreMonoLsb().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getBlendType()

static TextureBlendType getBlendType ( const QSpanData * data)
static

Definition at line 3626 of file qdrawhelper.cpp.

References BlendTiled, BlendTransformed, BlendTransformedBilinear, BlendTransformedBilinearTiled, BlendTransformedTiled, BlendUntransformed, QTextureData::Pattern, QTextureData::Tiled, and QTransform::TxTranslate.

Referenced by getOperator(), and qBlendTexture().

+ Here is the caller graph for this function:

◆ getLinearGradientValues()

static void QT_FASTCALL getLinearGradientValues ( LinearGradientValues * v,
const QSpanData * data )
static

Definition at line 3276 of file qdrawhelper.cpp.

Referenced by blend_vertical_gradient(), blend_vertical_gradient_argb(), and getOperator().

+ Here is the caller graph for this function:

◆ getOperator()

static Operator getOperator ( const QSpanData * data,
const QT_FT_Span * spans,
int spanCount )
inlinestatic

◆ getRadialGradientValues()

static void QT_FASTCALL getRadialGradientValues ( RadialGradientValues * v,
const QSpanData * data )
static

Definition at line 3448 of file qdrawhelper.cpp.

References qFuzzyIsNull().

Referenced by getOperator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSourceFetch()

static SourceFetchProc getSourceFetch ( TextureBlendType blendType,
QImage::Format format )
inlinestatic

Definition at line 3180 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().

+ Here is the caller graph for this function:

◆ grayBlendPixel()

static void grayBlendPixel ( quint32 * dst,
int coverage,
QRgba64 srcLinear,
const QColorTrcLut * colorProfile )
inlinestatic

Definition at line 5256 of file qdrawhelper.cpp.

References QRgba64::fromArgb32(), interpolate255(), and toArgb32().

Referenced by alphamapblend_argb32().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleSpans()

template<typename T >
void handleSpans ( int count,
const QT_FT_Span * spans,
const QSpanData * data,
const Operator & op )

Definition at line 4007 of file qdrawhelper.cpp.

References BufferSize, QPainter::CompositionMode_Source, QT_FT_Span_::coverage, i, QT_FT_Span_::len, Operator::mode, qMin(), QT_THREAD_PARALLEL_FILLS, QSpanData::Texture, QT_FT_Span_::x, and QT_FT_Span_::y.

+ Here is the call graph for this function:

◆ intermediate_adder()

static void QT_FASTCALL intermediate_adder ( uint * b,
uint * end,
const IntermediateBuffer & intermediate,
int offset,
int & fx,
int fdx )
static

Definition at line 1292 of file qdrawhelper.cpp.

References fixed_scale, qCpuHasFeature, and QT_FASTCALL.

Referenced by fetchTransformedBilinear_simple_scale_helper(), and fetchTransformedBilinearARGB32PM_simple_scale_helper().

+ Here is the caller graph for this function:

◆ interpolate_4_pixels_16()

static uint interpolate_4_pixels_16 ( uint tl,
uint tr,
uint bl,
uint br,
uint distx,
uint disty )
inlinestatic

interpolate 4 argb pixels with the distx and disty factor. distx and disty must be between 0 and 16

Definition at line 1166 of file qdrawhelper.cpp.

References tr.

Referenced by fetchTransformedBilinear(), fetchTransformedBilinearARGB32PM_downscale_helper(), and fetchTransformedBilinearARGB32PM_fast_rotate_helper().

+ Here is the caller graph for this function:

◆ interpolate_pixel_rgb16_255()

static quint16 interpolate_pixel_rgb16_255 ( quint16 x,
quint8 a,
quint16 y,
quint8 b )
inlinestatic

Definition at line 4430 of file qdrawhelper.cpp.

Referenced by blend_sourceOver_rgb16_rgb16().

+ Here is the caller graph for this function:

◆ interpolate_pixel_rgb16x2_255()

static quint32 interpolate_pixel_rgb16x2_255 ( quint32 x,
quint8 a,
quint32 y,
quint8 b )
inlinestatic

Definition at line 4439 of file qdrawhelper.cpp.

Referenced by blend_sourceOver_rgb16_rgb16().

+ Here is the caller graph for this function:

◆ Q_CONSTRUCTOR_FUNCTION()

Q_CONSTRUCTOR_FUNCTION ( qInitDrawhelperFunctions )

◆ qBlendGradient()

void qBlendGradient ( int count,
const QT_FT_Span * spans,
void * userData )

◆ qBlendTexture()

void qBlendTexture ( int count,
const QT_FT_Span * spans,
void * userData )

◆ qInitBlendFunctions()

◆ qInitDrawhelperFunctions()

static void qInitDrawhelperFunctions ( )
static

Definition at line 6383 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.

+ Here is the call graph for this function:

◆ qRgbAvg()

static int qRgbAvg ( QRgb rgb)
inlinestatic

Definition at line 5595 of file qdrawhelper.cpp.

References qBlue(), qGreen(), qRed(), and rgb.

Referenced by alphargbblend_argb32().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qt_alphamapblit_argb32()

static void qt_alphamapblit_argb32 ( QRasterBuffer * rasterBuffer,
int x,
int y,
const QRgba64 & color,
const uchar * map,
int mapWidth,
int mapHeight,
int mapStride,
const QClipData * clip,
bool useGammaCorrection )
static

Definition at line 5536 of file qdrawhelper.cpp.

References alphamapblend_argb32(), QString::count(), QRasterBuffer::height(), i, initialize(), QGuiApplicationPrivate::instance(), QT_FT_Span_::len, line, QClipData::m_clipLines, map, qMax(), qMin(), QRasterBuffer::scanLine(), QRasterBuffer::stride(), and QT_FT_Span_::x.

+ Here is the call graph for this function:

◆ qt_alphamapblit_generic()

static void qt_alphamapblit_generic ( QRasterBuffer * rasterBuffer,
int x,
int y,
const QRgba64 & color,
const uchar * map,
int mapWidth,
int mapHeight,
int mapStride,
const QClipData * clip,
bool useGammaCorrection )
static

Definition at line 5402 of file qdrawhelper.cpp.

References alphamapblend_argb32(), BufferSize, 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(), QT_FT_Span_::x, and QT_FT_Span_::y.

Referenced by qt_alphamapblit_quint16().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ 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 5489 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.

+ Here is the call graph for this function:

◆ qt_alphargbblit_argb32()

static void qt_alphargbblit_argb32 ( QRasterBuffer * rasterBuffer,
int x,
int y,
const QRgba64 & color,
const uint * src,
int mapWidth,
int mapHeight,
int srcStride,
const QClipData * clip,
bool useGammaCorrection )
static

Definition at line 5855 of file qdrawhelper.cpp.

References alphargbblend_argb32(), QString::count(), QRasterBuffer::height(), i, initialize(), QGuiApplicationPrivate::instance(), QT_FT_Span_::len, line, QClipData::m_clipLines, qMax(), qMin(), QRasterBuffer::scanLine(), QRasterBuffer::stride(), and QT_FT_Span_::x.

+ Here is the call graph for this function:

◆ qt_alphargbblit_generic()

static void qt_alphargbblit_generic ( QRasterBuffer * rasterBuffer,
int x,
int y,
const QRgba64 & color,
const uint * src,
int mapWidth,
int mapHeight,
int srcStride,
const QClipData * clip,
bool useGammaCorrection )
static

Definition at line 5781 of file qdrawhelper.cpp.

References alphargbblend_argb32(), BufferSize, 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(), QT_FT_Span_::x, and QT_FT_Span_::y.

+ Here is the call graph for this function:

◆ qt_bitmapblit_argb32()

static void qt_bitmapblit_argb32 ( QRasterBuffer * rasterBuffer,
int x,
int y,
const QRgba64 & color,
const uchar * map,
int mapWidth,
int mapHeight,
int mapStride )
inlinestatic

Definition at line 5219 of file qdrawhelper.cpp.

References map.

◆ qt_bitmapblit_quint16()

static void qt_bitmapblit_quint16 ( QRasterBuffer * rasterBuffer,
int x,
int y,
const QRgba64 & color,
const uchar * map,
int mapWidth,
int mapHeight,
int mapStride )
inlinestatic

Definition at line 5247 of file qdrawhelper.cpp.

References map.

◆ qt_bitmapblit_rgb30()

template<QtPixelOrder PixelOrder>
static void qt_bitmapblit_rgb30 ( QRasterBuffer * rasterBuffer,
int x,
int y,
const QRgba64 & color,
const uchar * map,
int mapWidth,
int mapHeight,
int mapStride )
inlinestatic

Definition at line 5238 of file qdrawhelper.cpp.

References map.

◆ qt_bitmapblit_rgba8888()

static void qt_bitmapblit_rgba8888 ( QRasterBuffer * rasterBuffer,
int x,
int y,
const QRgba64 & color,
const uchar * map,
int mapWidth,
int mapHeight,
int mapStride )
inlinestatic

Definition at line 5228 of file qdrawhelper.cpp.

References ARGB2RGBA(), and map.

+ Here is the call graph for this function:

◆ qt_bitmapblit_template()

template<class DST >
static void qt_bitmapblit_template ( QRasterBuffer * rasterBuffer,
int x,
int y,
DST color,
const uchar * map,
int mapWidth,
int mapHeight,
int mapStride )
inlinestatic

Definition at line 5158 of file qdrawhelper.cpp.

References i, map, qt_memfill(), QRasterBuffer::scanLine(), and QRasterBuffer::stride().

+ Here is the call graph for this function:

◆ qt_fetch_conical_gradient()

static const uint *QT_FASTCALL qt_fetch_conical_gradient ( uint * buffer,
const Operator * ,
const QSpanData * data,
int y,
int x,
int length )
static

Definition at line 3580 of file qdrawhelper.cpp.

Referenced by getOperator().

+ Here is the caller graph for this function:

◆ qt_fetch_conical_gradient_template()

template<class GradientBase , typename BlendType >
static const BlendType *QT_FASTCALL qt_fetch_conical_gradient_template ( BlendType * buffer,
const QSpanData * data,
int y,
int x,
int length )
inlinestatic

Definition at line 3530 of file qdrawhelper.cpp.

References M_1_PI, qAtan2(), rx(), and ry().

+ Here is the call graph for this function:

◆ qt_fetch_linear_gradient()

static const uint *QT_FASTCALL qt_fetch_linear_gradient ( uint * buffer,
const Operator * op,
const QSpanData * data,
int y,
int x,
int length )
static

Definition at line 3427 of file qdrawhelper.cpp.

Referenced by getOperator().

+ Here is the caller graph for this function:

◆ qt_fetch_linear_gradient_template()

template<class GradientBase , typename BlendType >
static const BlendType *QT_FASTCALL qt_fetch_linear_gradient_template ( BlendType * buffer,
const Operator * op,
const QSpanData * data,
int y,
int x,
int length )
inlinestatic

Definition at line 3356 of file qdrawhelper.cpp.

References LinearGradientValues::dx, LinearGradientValues::dy, FIXPT_MAX, FIXPT_SIZE, GRADIENT_STOPTABLE_SIZE, LinearGradientValues::l, Operator::linear, LinearGradientValues::off, rx(), and ry().

+ Here is the call graph for this function:

◆ qt_fetch_radial_gradient_plain()

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 3505 of file qdrawhelper.cpp.

◆ qt_gradient_pixel_fixed()

static uint qt_gradient_pixel_fixed ( const QGradientData * data,
int fixed_pos )
static

Definition at line 3246 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qt_memfill16()

void qt_memfill16 ( quint16 * dest,
quint16 value,
qsizetype count )

Definition at line 6352 of file qdrawhelper.cpp.

References qt_memfill32().

Referenced by qt_memfill().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qt_memfill24()

void qt_memfill24 ( quint24 * dest,
quint24 color,
qsizetype count )

Definition at line 6310 of file qdrawhelper.cpp.

References Q_FALLTHROUGH, qCpuHasFeature, and qFromBigEndian().

Referenced by qt_memfill().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qt_memfill32()

void qt_memfill32 ( quint32 * dest,
quint32 color,
qsizetype count )

Definition at line 6371 of file qdrawhelper.cpp.

Referenced by GradientBase32::memfill(), Argb32OperationsC::memfill(), qInitDrawhelperFunctions(), and qt_memfill16().

+ Here is the caller graph for this function:

◆ qt_memfill64()

void qt_memfill64 ( quint64 * dest,
quint64 color,
qsizetype count )

Definition at line 6301 of file qdrawhelper.cpp.

Referenced by Rgba64OperationsBase::memfill(), qInitDrawhelperFunctions(), and qt_memfill().

+ Here is the caller graph for this function:

◆ qt_rectfill_alpha()

static void qt_rectfill_alpha ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5980 of file qdrawhelper.cpp.

References QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().

+ Here is the call graph for this function:

◆ qt_rectfill_argb32()

static void qt_rectfill_argb32 ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5915 of file qdrawhelper.cpp.

References QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().

+ Here is the call graph for this function:

◆ qt_rectfill_fp32x4()

static void qt_rectfill_fp32x4 ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 6007 of file qdrawhelper.cpp.

References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::format, and qStoreFromRGBA64PM.

+ Here is the call graph for this function:

◆ qt_rectfill_gray()

static void qt_rectfill_gray ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5988 of file qdrawhelper.cpp.

References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), and qGray().

+ Here is the call graph for this function:

◆ qt_rectfill_nonpremul_argb32()

static void qt_rectfill_nonpremul_argb32 ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5947 of file qdrawhelper.cpp.

References QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().

+ Here is the call graph for this function:

◆ qt_rectfill_nonpremul_rgba()

static void qt_rectfill_nonpremul_rgba ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5963 of file qdrawhelper.cpp.

References ARGB2RGBA(), QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().

+ Here is the call graph for this function:

◆ qt_rectfill_quint16()

static void qt_rectfill_quint16 ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5923 of file qdrawhelper.cpp.

References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::format, layout, and qPixelLayouts.

+ Here is the call graph for this function:

◆ qt_rectfill_quint24()

static void qt_rectfill_quint24 ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5935 of file qdrawhelper.cpp.

References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::format, layout, and qPixelLayouts.

+ Here is the call graph for this function:

◆ qt_rectfill_quint64()

static void qt_rectfill_quint64 ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5996 of file qdrawhelper.cpp.

References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::format, and qStoreFromRGBA64PM.

+ Here is the call graph for this function:

◆ qt_rectfill_rgb30()

template<QtPixelOrder PixelOrder>
static void qt_rectfill_rgb30 ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5972 of file qdrawhelper.cpp.

References QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().

+ Here is the call graph for this function:

◆ qt_rectfill_rgba()

static void qt_rectfill_rgba ( QRasterBuffer * rasterBuffer,
int x,
int y,
int width,
int height,
const QRgba64 & color )
static

Definition at line 5955 of file qdrawhelper.cpp.

References ARGB2RGBA(), QRasterBuffer::buffer(), and QRasterBuffer::bytesPerLine().

+ Here is the call graph for this function:

◆ rgbBlend()

static QRgb rgbBlend ( QRgb d,
QRgb s,
uint rgbAlpha )
inlinestatic

Definition at line 5610 of file qdrawhelper.cpp.

References d, db, qBlue(), qGreen(), qRed(), and qt_div_255().

Referenced by alphargbblend_argb32(), and rgbBlendPixel().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rgbBlendPixel()

static void rgbBlendPixel ( quint32 * dst,
int coverage,
QRgba64 slinear,
const QColorTrcLut * colorProfile )
inlinestatic

Definition at line 5600 of file qdrawhelper.cpp.

References QRgba64::fromArgb32(), rgbBlend(), and toArgb32().

Referenced by alphargbblend_argb32().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ spanfill_from_first()

static void spanfill_from_first ( QRasterBuffer * rasterBuffer,
QPixelLayout::BPP bpp,
int x,
int y,
int length )
static

Definition at line 3780 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ bilinearFastTransformHelperARGB32PM

BilinearFastTransformHelper bilinearFastTransformHelperARGB32PM[2][NFastTransformTypes]
static
Initial value:
= {
{
fetchTransformedBilinearARGB32PM_simple_scale_helper<BlendTransformedBilinear>,
fetchTransformedBilinearARGB32PM_upscale_helper<BlendTransformedBilinear>,
fetchTransformedBilinearARGB32PM_downscale_helper<BlendTransformedBilinear>,
fetchTransformedBilinearARGB32PM_rotate_helper<BlendTransformedBilinear>,
fetchTransformedBilinearARGB32PM_fast_rotate_helper<BlendTransformedBilinear>
},
{
fetchTransformedBilinearARGB32PM_simple_scale_helper<BlendTransformedBilinearTiled>,
fetchTransformedBilinearARGB32PM_upscale_helper<BlendTransformedBilinearTiled>,
fetchTransformedBilinearARGB32PM_downscale_helper<BlendTransformedBilinearTiled>,
fetchTransformedBilinearARGB32PM_rotate_helper<BlendTransformedBilinearTiled>,
fetchTransformedBilinearARGB32PM_fast_rotate_helper<BlendTransformedBilinearTiled>
}
}

Definition at line 1909 of file qdrawhelper.cpp.

Referenced by fetchTransformedBilinearARGB32PM(), and qInitDrawhelperFunctions().

◆ destFetchProc

DestFetchProc destFetchProc[]
static

◆ destStoreProc

DestStoreProc destStoreProc[]
static

◆ fetch1PixelTable

constexpr Fetch1PixelFunc fetch1PixelTable[QPixelLayout::BPPCount]
constexpr
Initial value:
= {
nullptr,
fetch1Pixel<QPixelLayout::BPP1MSB>,
fetch1Pixel<QPixelLayout::BPP1LSB>,
fetch1Pixel<QPixelLayout::BPP8>,
fetch1Pixel<QPixelLayout::BPP16>,
fetch1Pixel<QPixelLayout::BPP24>,
fetch1Pixel<QPixelLayout::BPP32>,
fetch1Pixel<QPixelLayout::BPP64>,
fetch1Pixel<QPixelLayout::BPP16FPx4>,
fetch1Pixel<QPixelLayout::BPP32FPx4>,
}

Definition at line 119 of file qdrawhelper.cpp.

Referenced by fetchTransformed_fetcher(), fetchTransformedBilinear_fetcher(), and fetchTransformedBilinear_slow_fetcher().

◆ fixed_scale

◆ functionForMode

const CompositionFunction* functionForMode = qt_functionForMode_C
static

Definition at line 3618 of file qdrawhelper.cpp.

Referenced by getOperator().

◆ functionForModeSolid

const CompositionFunctionSolid* functionForModeSolid = qt_functionForModeSolid_C
static

Definition at line 3606 of file qdrawhelper.cpp.

Referenced by blend_vertical_gradient_argb(), and getOperator().

◆ half_point

constexpr int half_point = 1 << 15
constexpr

Definition at line 49 of file qdrawhelper.cpp.

Referenced by fetchTransformedBilinear(), and fetchTransformedBilinearARGB32PM().

◆ processTextureSpansARGB32PM

const ProcessSpans processTextureSpansARGB32PM[NBlendTypes]
static
Initial value:
= {
}
static void blend_untransformed_argb(int count, const QT_FT_Span *spans, void *userData)
static void blend_src_generic(int count, const QT_FT_Span *spans, void *userData)
static void blend_tiled_argb(int count, const QT_FT_Span *spans, void *userData)

Definition at line 4910 of file qdrawhelper.cpp.

Referenced by qBlendTexture().

◆ processTextureSpansGeneric

const ProcessSpans processTextureSpansGeneric[NBlendTypes]
static
Initial value:
= {
}
static void blend_untransformed_generic(int count, const QT_FT_Span *spans, void *userData)
static void blend_tiled_generic(int count, const QT_FT_Span *spans, void *userData)

Definition at line 4928 of file qdrawhelper.cpp.

Referenced by qBlendTexture().

◆ processTextureSpansRGB16

const ProcessSpans processTextureSpansRGB16[NBlendTypes]
static
Initial value:
= {
}
static void blend_untransformed_rgb565(int count, const QT_FT_Span *spans, void *userData)
static void blend_tiled_rgb565(int count, const QT_FT_Span *spans, void *userData)

Definition at line 4919 of file qdrawhelper.cpp.

Referenced by qBlendTexture().

◆ qDrawHelper

DrawHelper qDrawHelper[]

Definition at line 6021 of file qdrawhelper.cpp.

Referenced by QSpanData::adjustSpanMethods(), and qInitDrawhelperFunctions().

◆ qt_fetch_radial_gradient

SourceFetchProc qt_fetch_radial_gradient = qt_fetch_radial_gradient_plain
static

Definition at line 3511 of file qdrawhelper.cpp.

Referenced by getOperator(), and qInitDrawhelperFunctions().

◆ qt_functionForMode64_C

CompositionFunction64 qt_functionForMode64_C[]
extern

Definition at line 4295 of file qcompositionfunctions.cpp.

Referenced by qInitDrawhelperFunctions().

◆ qt_functionForMode_C

CompositionFunction qt_functionForMode_C[]
extern

Definition at line 4254 of file qcompositionfunctions.cpp.

Referenced by qInitDrawhelperFunctions().

◆ qt_functionForModeFP_C

CompositionFunctionFP qt_functionForModeFP_C[]
extern

Definition at line 4330 of file qcompositionfunctions.cpp.

Referenced by qInitDrawhelperFunctions().

◆ qt_functionForModeSolid64_C

CompositionFunctionSolid64 qt_functionForModeSolid64_C[]
extern

Definition at line 4185 of file qcompositionfunctions.cpp.

Referenced by qInitDrawhelperFunctions().

◆ qt_functionForModeSolid_C

CompositionFunctionSolid qt_functionForModeSolid_C[]
extern

Definition at line 4144 of file qcompositionfunctions.cpp.

Referenced by qInitDrawhelperFunctions().

◆ qt_functionForModeSolidFP_C

CompositionFunctionSolidFP qt_functionForModeSolidFP_C[]
extern

Definition at line 4220 of file qcompositionfunctions.cpp.

Referenced by qInitDrawhelperFunctions().

◆ sourceFetchAny16

SourceFetchProc sourceFetchAny16[]
static
Initial value:
= {
fetchTransformed<BlendTransformed, QPixelLayout::BPP16>,
fetchTransformed<BlendTransformedTiled, QPixelLayout::BPP16>,
fetchTransformedBilinear<BlendTransformedBilinear, QPixelLayout::BPP16>,
fetchTransformedBilinear<BlendTransformedBilinearTiled, QPixelLayout::BPP16>
}
static const uint *QT_FASTCALL fetchUntransformed(uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)

Definition at line 3158 of file qdrawhelper.cpp.

Referenced by getSourceFetch().

◆ sourceFetchAny32

SourceFetchProc sourceFetchAny32[]
static
Initial value:
= {
fetchTransformed<BlendTransformed, QPixelLayout::BPP32>,
fetchTransformed<BlendTransformedTiled, QPixelLayout::BPP32>,
fetchTransformedBilinear<BlendTransformedBilinear, QPixelLayout::BPP32>,
fetchTransformedBilinear<BlendTransformedBilinearTiled, QPixelLayout::BPP32>
}

Definition at line 3169 of file qdrawhelper.cpp.

Referenced by getSourceFetch().

◆ sourceFetchARGB32PM

SourceFetchProc sourceFetchARGB32PM[]
static
Initial value:
= {
fetchTransformed<BlendTransformed, QPixelLayout::BPP32>,
fetchTransformed<BlendTransformedTiled, QPixelLayout::BPP32>,
fetchTransformedBilinearARGB32PM<BlendTransformedBilinear>,
fetchTransformedBilinearARGB32PM<BlendTransformedBilinearTiled>
}
static const uint *QT_FASTCALL fetchUntransformedARGB32PM(uint *, const Operator *, const QSpanData *data, int y, int x, int)

Definition at line 3147 of file qdrawhelper.cpp.

Referenced by getSourceFetch().

◆ sourceFetchGeneric

const SourceFetchProc sourceFetchGeneric[]
static
Initial value:
= {
fetchTransformed<BlendTransformed, QPixelLayout::BPPNone>,
fetchTransformed<BlendTransformedTiled, QPixelLayout::BPPNone>,
fetchTransformedBilinear<BlendTransformedBilinear, QPixelLayout::BPPNone>,
fetchTransformedBilinear<BlendTransformedBilinearTiled, QPixelLayout::BPPNone>
}

Definition at line 3136 of file qdrawhelper.cpp.

Referenced by getSourceFetch().

◆ sourceFetchUntransformed

SourceFetchProc sourceFetchUntransformed[]
static

Definition at line 3094 of file qdrawhelper.cpp.

Referenced by getSourceFetch(), and qInitDrawhelperFunctions().