Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qdrawhelper.cpp File Reference

(0b155e9ea27341fa028187b36e37aa83ce36ef26)

#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_loongarch64_p.h>
#include <private/qdrawingprimitive_lsx_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)
 
#define FIXPT_BITS   8
 
#define FIXPT_SIZE   (1<<FIXPT_BITS)
 
#define FIXPT_MAX   (INT_MAX >> (FIXPT_BITS + 1))
 
#define QT_THREAD_PARALLEL_FILLS(function)
 

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 , BlendUntransformed ,
  BlendTiled , BlendTransformed , BlendTransformedTiled , BlendTransformedBilinear ,
  BlendTransformedBilinearTiled , NBlendTypes
}
 
enum  FastTransformTypes {
  SimpleScaleTransform , UpscaleTransform , DownscaleTransform , RotateTransform ,
  FastRotateTransform , NFastTransformTypes , SimpleScaleTransform , UpscaleTransform ,
  DownscaleTransform , RotateTransform , FastRotateTransform , NFastTransformTypes
}
 
enum  TextureBlendType {
  BlendUntransformed , BlendTiled , BlendTransformed , BlendTransformedTiled ,
  BlendTransformedBilinear , BlendTransformedBilinearTiled , NBlendTypes , BlendUntransformed ,
  BlendTiled , BlendTransformed , BlendTransformedTiled , BlendTransformedBilinear ,
  BlendTransformedBilinearTiled , NBlendTypes
}
 
enum  FastTransformTypes {
  SimpleScaleTransform , UpscaleTransform , DownscaleTransform , RotateTransform ,
  FastRotateTransform , NFastTransformTypes , 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_oneline (const uchar *map, int mapWidth, const QRgba64 &srcColor, quint32 *dest, const quint32 c, const QColorTrcLut *colorProfile)
 
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)
 
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)
 
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)
 

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

◆ FIXPT_MAX

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

Definition at line 3388 of file qdrawhelper.cpp.

◆ FIXPT_SIZE

#define FIXPT_SIZE   (1<<FIXPT_BITS)

Definition at line 3387 of file qdrawhelper.cpp.

◆ MASK

#define MASK ( src,
a )
Value:
static uint BYTE_MUL(uint x, uint a)
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum src

Definition at line 44 of file qdrawhelper.cpp.

◆ QT_THREAD_PARALLEL_FILLS

#define QT_THREAD_PARALLEL_FILLS ( function)
Value:
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction function
[0]
GLenum GLenum GLsizei count

Definition at line 3986 of file qdrawhelper.cpp.

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

◆ Fetch1PixelFunc

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

Definition at line 119 of file qdrawhelper.cpp.

Enumeration Type Documentation

◆ FastTransformTypes [1/2]

Enumerator
SimpleScaleTransform 
UpscaleTransform 
DownscaleTransform 
RotateTransform 
FastRotateTransform 
NFastTransformTypes 
SimpleScaleTransform 
UpscaleTransform 
DownscaleTransform 
RotateTransform 
FastRotateTransform 
NFastTransformTypes 

Definition at line 1322 of file qdrawhelper.cpp.

◆ FastTransformTypes [2/2]

Enumerator
SimpleScaleTransform 
UpscaleTransform 
DownscaleTransform 
RotateTransform 
FastRotateTransform 
NFastTransformTypes 
SimpleScaleTransform 
UpscaleTransform 
DownscaleTransform 
RotateTransform 
FastRotateTransform 
NFastTransformTypes 

Definition at line 1322 of file qdrawhelper.cpp.

◆ TextureBlendType [1/2]

Enumerator
BlendUntransformed 
BlendTiled 
BlendTransformed 
BlendTransformedTiled 
BlendTransformedBilinear 
BlendTransformedBilinearTiled 
NBlendTypes 
BlendUntransformed 
BlendTiled 
BlendTransformed 
BlendTransformedTiled 
BlendTransformedBilinear 
BlendTransformedBilinearTiled 
NBlendTypes 

Definition at line 848 of file qdrawhelper.cpp.

◆ TextureBlendType [2/2]

Enumerator
BlendUntransformed 
BlendTiled 
BlendTransformed 
BlendTransformedTiled 
BlendTransformedBilinear 
BlendTransformedBilinearTiled 
NBlendTypes 
BlendUntransformed 
BlendTiled 
BlendTransformed 
BlendTransformedTiled 
BlendTransformedBilinear 
BlendTransformedBilinearTiled 
NBlendTypes 

Definition at line 848 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 5410 of file qdrawhelper.cpp.

◆ alphamapblend_quint16()

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

Definition at line 5628 of file qdrawhelper.cpp.

◆ alphargbblend_argb32()

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

Definition at line 5859 of file qdrawhelper.cpp.

◆ blend_color_argb()

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

Definition at line 4023 of file qdrawhelper.cpp.

References QSpanData::rasterBuffer.

◆ blend_color_generic()

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

Definition at line 3989 of file qdrawhelper.cpp.

References BufferSize, and QSpanData::rasterBuffer.

Referenced by qBlendGradient().

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

◆ blend_color_generic_rgb64()

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

Definition at line 4060 of file qdrawhelper.cpp.

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

◆ blend_src_generic()

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

Definition at line 4323 of file qdrawhelper.cpp.

◆ blend_tiled_argb()

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

Definition at line 4901 of file qdrawhelper.cpp.

References BufferSize, and QSpanData::rasterBuffer.

◆ blend_tiled_generic()

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

Definition at line 4682 of file qdrawhelper.cpp.

References BufferSize, and QSpanData::rasterBuffer.

◆ blend_tiled_rgb565()

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

Definition at line 4954 of file qdrawhelper.cpp.

References BufferSize.

◆ blend_untransformed_argb()

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

Definition at line 4528 of file qdrawhelper.cpp.

References QSpanData::rasterBuffer.

◆ blend_untransformed_generic()

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

Definition at line 4358 of file qdrawhelper.cpp.

References BufferSize, and QSpanData::rasterBuffer.

◆ blend_untransformed_rgb565()

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

Definition at line 4625 of file qdrawhelper.cpp.

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

◆ blend_vertical_gradient_argb()

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

Definition at line 5189 of file qdrawhelper.cpp.

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

◆ canUseFastMatrixPath()

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

Definition at line 921 of file qdrawhelper.cpp.

References fixed_scale.

◆ destFetch()

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

Definition at line 353 of file qdrawhelper.cpp.

◆ destFetchARGB32P()

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

Definition at line 340 of file qdrawhelper.cpp.

◆ destFetchMono()

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

Definition at line 314 of file qdrawhelper.cpp.

◆ destFetchMonoLsb()

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

Definition at line 327 of file qdrawhelper.cpp.

◆ destFetchRGB16()

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

Definition at line 345 of file qdrawhelper.cpp.

◆ destFetchUndefined()

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

Definition at line 359 of file qdrawhelper.cpp.

◆ destStore()

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

Definition at line 622 of file qdrawhelper.cpp.

◆ destStoreGray16()

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

Definition at line 653 of file qdrawhelper.cpp.

◆ destStoreGray8()

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

Definition at line 632 of file qdrawhelper.cpp.

◆ destStoreMono()

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

Definition at line 561 of file qdrawhelper.cpp.

◆ destStoreMonoLsb()

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

Definition at line 588 of file qdrawhelper.cpp.

◆ destStoreRGB16()

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

Definition at line 615 of file qdrawhelper.cpp.

◆ fetch1Pixel()

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

Definition at line 54 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP16 >() [1/2]

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

Definition at line 78 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP16 >() [2/2]

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

Definition at line 78 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP16FPx4 >() [1/2]

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

Definition at line 104 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP16FPx4 >() [2/2]

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

Definition at line 104 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP1LSB >() [1/2]

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

Definition at line 60 of file qdrawhelper.cpp.

Referenced by qInitDrawhelperFunctions().

+ Here is the caller graph for this function:

◆ fetch1Pixel< QPixelLayout::BPP1LSB >() [2/2]

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

Definition at line 60 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP1MSB >() [1/2]

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

Definition at line 66 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP1MSB >() [2/2]

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

Definition at line 66 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP24 >() [1/2]

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

Definition at line 84 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP24 >() [2/2]

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

Definition at line 84 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP32 >() [1/2]

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

Definition at line 90 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP32 >() [2/2]

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

Definition at line 90 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP32FPx4 >() [1/2]

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

Definition at line 112 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP32FPx4 >() [2/2]

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

Definition at line 112 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP64 >() [1/2]

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

Definition at line 96 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP64 >() [2/2]

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

Definition at line 96 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP8 >() [1/2]

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

Definition at line 72 of file qdrawhelper.cpp.

◆ fetch1Pixel< QPixelLayout::BPP8 >() [2/2]

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

Definition at line 72 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 1103 of file qdrawhelper.cpp.

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

◆ fetchTransformed_pixelBounds()

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

Definition at line 908 of file qdrawhelper.cpp.

References BlendTransformed, and BlendTransformedTiled.

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

References BufferSize, fixed_scale, and half_point.

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

◆ fetchTransformedBilinear_pixelBounds()

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

◆ fetchTransformedBilinear_pixelBounds< BlendTransformedBilinear >() [1/2]

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

Definition at line 1310 of file qdrawhelper.cpp.

◆ fetchTransformedBilinear_pixelBounds< BlendTransformedBilinear >() [2/2]

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

Definition at line 1310 of file qdrawhelper.cpp.

◆ fetchTransformedBilinear_pixelBounds< BlendTransformedBilinearTiled >() [1/2]

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

Definition at line 1297 of file qdrawhelper.cpp.

◆ fetchTransformedBilinear_pixelBounds< BlendTransformedBilinearTiled >() [2/2]

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

Definition at line 1297 of file qdrawhelper.cpp.

◆ 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

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

◆ fetchTransformedBilinearARGB32PM()

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

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

References interpolate_4_pixels_16().

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

References interpolate_4_pixels_16().

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

◆ 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

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

◆ fetchUntransformed()

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

Definition at line 858 of file qdrawhelper.cpp.

◆ fetchUntransformedARGB32PM()

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

Definition at line 865 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 872 of file qdrawhelper.cpp.

◆ findNearestColor()

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

Definition at line 531 of file qdrawhelper.cpp.

◆ getBlendType()

static TextureBlendType getBlendType ( const QSpanData * data)
static

Definition at line 3770 of file qdrawhelper.cpp.

References QSpanData::bilinear, BlendTiled, BlendTransformed, BlendTransformedBilinear, BlendTransformedBilinearTiled, BlendTransformedTiled, BlendUntransformed, QTextureData::Pattern, and QTextureData::Tiled.

Referenced by qBlendTexture().

+ Here is the caller graph for this function:

◆ getLinearGradientValues()

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

Definition at line 3420 of file qdrawhelper.cpp.

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

◆ getSourceFetch()

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

Definition at line 3324 of file qdrawhelper.cpp.

References BlendTiled, and BlendUntransformed.

◆ grayBlendPixel()

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

Definition at line 5400 of file qdrawhelper.cpp.

◆ handleSpans()

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

Definition at line 4151 of file qdrawhelper.cpp.

References BufferSize, and QSpanData::Texture.

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

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

Referenced by 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 4574 of file qdrawhelper.cpp.

◆ interpolate_pixel_rgb16x2_255()

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

Definition at line 4583 of file qdrawhelper.cpp.

◆ Q_CONSTRUCTOR_FUNCTION()

Q_CONSTRUCTOR_FUNCTION ( qInitDrawhelperFunctions )

◆ qBlendGradient()

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

Definition at line 5243 of file qdrawhelper.cpp.

References blend_color_generic(), and QSpanData::rasterBuffer.

+ Here is the call graph for this function:

◆ qBlendTexture()

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

Definition at line 5102 of file qdrawhelper.cpp.

References getBlendType(), processTextureSpansARGB32PM, processTextureSpansGeneric, processTextureSpansRGB16, and QSpanData::rasterBuffer.

+ Here is the call graph for this function:

◆ qInitBlendFunctions()

void qInitBlendFunctions ( )
extern

Definition at line 552 of file qblendfunctions.cpp.

Referenced by qInitDrawhelperFunctions().

+ Here is the caller graph for this function:

◆ qInitDrawhelperFunctions()

static void qInitDrawhelperFunctions ( )
static

Definition at line 6602 of file qdrawhelper.cpp.

References fetch1Pixel< QPixelLayout::BPP1LSB >(), and qInitBlendFunctions().

+ Here is the call graph for this function:

◆ qRgbAvg()

static int qRgbAvg ( QRgb rgb)
inlinestatic

Definition at line 5804 of file qdrawhelper.cpp.

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

◆ qt_alphamapblit_argb32_oneline()

static void qt_alphamapblit_argb32_oneline ( const uchar * map,
int mapWidth,
const QRgba64 & srcColor,
quint32 * dest,
const quint32 c,
const QColorTrcLut * colorProfile )
static

Definition at line 5687 of file qdrawhelper.cpp.

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

References BufferSize.

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

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

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

References BufferSize.

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

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

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

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

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

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

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

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

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

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

◆ qt_gradient_pixel_fixed()

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

Definition at line 3390 of file qdrawhelper.cpp.

Referenced by GradientBase32::fetchSingle().

+ Here is the caller graph for this function:

◆ qt_memfill16()

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

Definition at line 6569 of file qdrawhelper.cpp.

◆ qt_memfill24()

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

Definition at line 6523 of file qdrawhelper.cpp.

◆ qt_memfill32()

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

Definition at line 6588 of file qdrawhelper.cpp.

◆ qt_memfill64()

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

Definition at line 6514 of file qdrawhelper.cpp.

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

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

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

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

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

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

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

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

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

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

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

◆ rgbBlend()

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

Definition at line 5819 of file qdrawhelper.cpp.

◆ rgbBlendPixel()

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

Definition at line 5809 of file qdrawhelper.cpp.

◆ spanfill_from_first()

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

Definition at line 3924 of file qdrawhelper.cpp.

Variable Documentation

◆ bilinearFastTransformHelperARGB32PM

static BilinearFastTransformHelper bilinearFastTransformHelperARGB32PM
static
Initial value:
= {
{
},
{
}
}
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_fast_rotate_helper(uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int fdy)
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_rotate_helper(uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int fdy)
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_simple_scale_helper(uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int)
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_downscale_helper(uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int)
static void QT_FASTCALL fetchTransformedBilinearARGB32PM_upscale_helper(uint *b, uint *end, const QTextureData &image, int &fx, int &fy, int fdx, int)

Definition at line 2053 of file qdrawhelper.cpp.

Referenced by fetchTransformedBilinearARGB32PM().

◆ destFetchProc

static DestFetchProc destFetchProc
static

Definition at line 364 of file qdrawhelper.cpp.

◆ destStoreProc

static DestStoreProc destStoreProc
static

Definition at line 677 of file qdrawhelper.cpp.

◆ fetch1PixelTable

Fetch1PixelFunc fetch1PixelTable
constexpr
Initial value:
= {
nullptr,
}
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP1MSB >(const uchar *src, int index)
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP24 >(const uchar *src, int index)
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP8 >(const uchar *src, int index)
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP32FPx4 >(const uchar *src, int index)
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP1LSB >(const uchar *src, int index)
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP32 >(const uchar *src, int index)
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP16FPx4 >(const uchar *src, int index)
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP16 >(const uchar *src, int index)
uint QT_FASTCALL fetch1Pixel< QPixelLayout::BPP64 >(const uchar *src, int index)

Definition at line 121 of file qdrawhelper.cpp.

◆ fixed_scale

◆ functionForMode

static const CompositionFunction * functionForMode = qt_functionForMode_C
static

Definition at line 3762 of file qdrawhelper.cpp.

◆ functionForModeSolid

static const CompositionFunctionSolid * functionForModeSolid = qt_functionForModeSolid_C
static

Definition at line 3750 of file qdrawhelper.cpp.

◆ half_point

int half_point = 1 << 15
constexpr

Definition at line 51 of file qdrawhelper.cpp.

Referenced by fetchTransformedBilinear(), and fetchTransformedBilinearARGB32PM().

◆ processTextureSpansARGB32PM

static const ProcessSpans processTextureSpansARGB32PM
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 5054 of file qdrawhelper.cpp.

Referenced by qBlendTexture().

◆ processTextureSpansGeneric

static const ProcessSpans processTextureSpansGeneric
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 5072 of file qdrawhelper.cpp.

Referenced by qBlendTexture().

◆ processTextureSpansRGB16

static const ProcessSpans processTextureSpansRGB16
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 5063 of file qdrawhelper.cpp.

Referenced by qBlendTexture().

◆ qDrawHelper

DrawHelper qDrawHelper[]

Definition at line 6230 of file qdrawhelper.cpp.

◆ qt_fetch_radial_gradient

static SourceFetchProc qt_fetch_radial_gradient = qt_fetch_radial_gradient_plain
static

Definition at line 3655 of file qdrawhelper.cpp.

◆ qt_functionForMode64_C

CompositionFunction64 qt_functionForMode64_C[]
extern

Definition at line 3759 of file qdrawhelper.cpp.

◆ qt_functionForMode_C

CompositionFunction qt_functionForMode_C[]
extern

Definition at line 3758 of file qdrawhelper.cpp.

◆ qt_functionForModeFP_C

CompositionFunctionFP qt_functionForModeFP_C[]
extern

Definition at line 3760 of file qdrawhelper.cpp.

◆ qt_functionForModeSolid64_C

CompositionFunctionSolid64 qt_functionForModeSolid64_C[]
extern

Definition at line 3747 of file qdrawhelper.cpp.

◆ qt_functionForModeSolid_C

CompositionFunctionSolid qt_functionForModeSolid_C[]
extern

Definition at line 3746 of file qdrawhelper.cpp.

◆ qt_functionForModeSolidFP_C

CompositionFunctionSolidFP qt_functionForModeSolidFP_C[]
extern

Definition at line 3748 of file qdrawhelper.cpp.

◆ sourceFetchAny16

static SourceFetchProc sourceFetchAny16
static
Initial value:
= {
}
static const uint *QT_FASTCALL fetchUntransformed(uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
static const uint *QT_FASTCALL fetchTransformedBilinear(uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)
static const uint *QT_FASTCALL fetchTransformed(uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)

Definition at line 3302 of file qdrawhelper.cpp.

◆ sourceFetchAny32

◆ sourceFetchARGB32PM

static SourceFetchProc sourceFetchARGB32PM
static
Initial value:
= {
}
static const uint *QT_FASTCALL fetchUntransformedARGB32PM(uint *, const Operator *, const QSpanData *data, int y, int x, int)
static const uint *QT_FASTCALL fetchTransformedBilinearARGB32PM(uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length)

Definition at line 3291 of file qdrawhelper.cpp.

◆ sourceFetchGeneric

◆ sourceFetchUntransformed

static SourceFetchProc sourceFetchUntransformed
static

Definition at line 3238 of file qdrawhelper.cpp.