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_p.h File Reference

(8492ba01ba3e3bdf717c9e7f40ddad412c297945)

#include <QtGui/private/qtguiglobal_p.h>
#include "QtCore/qmath.h"
#include "QtGui/qcolor.h"
#include "QtGui/qpainter.h"
#include "QtGui/qimage.h"
#include "QtGui/qrgba64.h"
#include "private/qpixellayout_p.h"
#include "private/qrasterdefs_p.h"
#include <private/qsimd_p.h>
#include <memory>
#include <variant>
Include dependency graph for qdrawhelper_p.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  DrawHelper
struct  quint24
struct  LinearGradientValues
struct  RadialGradientValues
struct  Operator
struct  QLinearGradientData
struct  QRadialGradientData
struct  QConicalGradientData
struct  QGradientData
struct  QTextureData
struct  QSpanData
class  QRadialFetchSimd< Simd >
struct  IntermediateBuffer

Macros

#define QT_FT_BEGIN_HEADER
#define QT_FT_END_HEADER
#define Q_DECL_RESTRICT
#define Q_DECL_VECTORCALL
#define GRADIENT_STOPTABLE_SIZE   1024
#define GRADIENT_STOPTABLE_SIZE_SHIFT   10
#define FETCH_RADIAL_LOOP_PROLOGUE
#define FETCH_RADIAL_LOOP_CLAMP_REPEAT    index_vec.v = Simd::v_and(v_repeat_mask, Simd::v_toInt(v_index));
#define FETCH_RADIAL_LOOP_CLAMP_REFLECT
#define FETCH_RADIAL_LOOP_CLAMP_PAD    index_vec.v = Simd::v_toInt(Simd::v_min(v_max, Simd::v_max(v_min, v_index)));
#define FETCH_RADIAL_LOOP_EPILOGUE
#define FETCH_RADIAL_LOOP(FETCH_RADIAL_LOOP_CLAMP)
#define ARGB_COMBINE_ALPHA(argb, alpha)
#define AMIX(mask)
#define MIX(mask)

Typedefs

typedef QRgbaFloat< float > QRgbaFloat32
typedef QT_FT_SpanFunc ProcessSpans
typedef void(* BitmapBlitFunc) (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *bitmap, int mapWidth, int mapHeight, int mapStride)
typedef void(* AlphamapBlitFunc) (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *bitmap, int mapWidth, int mapHeight, int mapStride, const QClipData *clip, bool useGammaCorrection)
typedef void(* AlphaRGBBlitFunc) (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uint *rgbmask, int mapWidth, int mapHeight, int mapStride, const QClipData *clip, bool useGammaCorrection)
typedef void(* RectFillFunc) (QRasterBuffer *rasterBuffer, int x, int y, int width, int height, const QRgba64 &color)
typedef void(* SrcOverBlendFunc) (uchar *destPixels, int dbpl, const uchar *src, int spbl, int w, int h, int const_alpha)
typedef void(* SrcOverScaleFunc) (uchar *destPixels, int dbpl, const uchar *src, int spbl, int srch, const QRectF &targetRect, const QRectF &sourceRect, const QRect &clipRect, int const_alpha)
typedef void(* SrcOverTransformFunc) (uchar *destPixels, int dbpl, const uchar *src, int spbl, const QRectF &targetRect, const QRectF &sourceRect, const QRect &clipRect, const QTransform &targetRectTransform, int const_alpha)
typedef void(QT_FASTCALLCompositionFunction) (uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)
typedef void(QT_FASTCALLCompositionFunction64) (QRgba64 *Q_DECL_RESTRICT dest, const QRgba64 *Q_DECL_RESTRICT src, int length, uint const_alpha)
typedef void(QT_FASTCALLCompositionFunctionFP) (QRgbaFloat32 *Q_DECL_RESTRICT dest, const QRgbaFloat32 *Q_DECL_RESTRICT src, int length, uint const_alpha)
typedef void(QT_FASTCALLCompositionFunctionSolid) (uint *dest, int length, uint color, uint const_alpha)
typedef void(QT_FASTCALLCompositionFunctionSolid64) (QRgba64 *dest, int length, QRgba64 color, uint const_alpha)
typedef void(QT_FASTCALLCompositionFunctionSolidFP) (QRgbaFloat32 *dest, int length, QRgbaFloat32 color, uint const_alpha)
typedef uint *(QT_FASTCALLDestFetchProc) (uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
typedef QRgba64 *(QT_FASTCALLDestFetchProc64) (QRgba64 *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
typedef QRgbaFloat32 *(QT_FASTCALLDestFetchProcFP) (QRgbaFloat32 *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)
typedef void(QT_FASTCALLDestStoreProc) (QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)
typedef void(QT_FASTCALLDestStoreProc64) (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 *buffer, int length)
typedef void(QT_FASTCALLDestStoreProcFP) (QRasterBuffer *rasterBuffer, int x, int y, const QRgbaFloat32 *buffer, int length)
typedef const uint *(QT_FASTCALLSourceFetchProc) (uint *buffer, const Operator *o, const QSpanData *data, int y, int x, int length)
typedef const QRgba64 *(QT_FASTCALLSourceFetchProc64) (QRgba64 *buffer, const Operator *o, const QSpanData *data, int y, int x, int length)
typedef const QRgbaFloat32 *(QT_FASTCALLSourceFetchProcFP) (QRgbaFloat32 *buffer, const Operator *o, const QSpanData *data, int y, int x, int length)

Functions

void qBlendGradient (int count, const QT_FT_Span *spans, void *userData)
void qBlendTexture (int count, const QT_FT_Span *spans, void *userData)
void qt_memfill64 (quint64 *dest, quint64 value, qsizetype count)
void qt_memfill32 (quint32 *dest, quint32 value, qsizetype count)
void qt_memfill24 (quint24 *dest, quint24 value, qsizetype count)
void qt_memfill16 (quint16 *dest, quint16 value, qsizetype count)
static uint qt_gradient_clamp (const QGradientData *data, int ipos)
static uint qt_gradient_pixel (const QGradientData *data, qreal pos)
static qreal qRadialDeterminant (qreal a, qreal b, qreal c)
template<class RadialFetchFunc, typename BlendType>
static const BlendType *QT_FASTCALL qt_fetch_radial_gradient_template (BlendType *buffer, const Operator *op, const QSpanData *data, int y, int x, int length)
static uint INTERPOLATE_PIXEL_255 (uint x, uint a, uint y, uint b)
static uint INTERPOLATE_PIXEL_256 (uint x, uint a, uint y, uint b)
static uint BYTE_MUL (uint x, uint a)
static void blend_pixel (quint32 &dst, const quint32 src)
static void blend_pixel (quint32 &dst, const quint32 src, const int const_alpha)
static uint interpolate_4_pixels (uint tl, uint tr, uint bl, uint br, uint distx, uint disty)
static uint interpolate_4_pixels (const uint t[], const uint b[], uint distx, uint disty)
static constexpr bool hasFastInterpolate4 ()
static QRgba64 multiplyAlpha256 (QRgba64 rgba64, uint alpha256)
static QRgba64 interpolate256 (QRgba64 x, uint alpha1, QRgba64 y, uint alpha2)
static QRgba64 interpolate_4_pixels_rgb64 (const QRgba64 t[], const QRgba64 b[], uint distx, uint disty)
static uint BYTE_MUL_RGB16 (uint x, uint a)
static uint BYTE_MUL_RGB16_32 (uint x, uint a)
static constexpr int qt_div_255 (int x)
static constexpr uint qt_div_257_floor (uint x)
static constexpr uint qt_div_257 (uint x)
static constexpr uint qt_div_65535 (uint x)
template<class T>
void qt_memfill_template (T *dest, T color, qsizetype count)
template<class T>
void qt_memfill (T *dest, T value, qsizetype count)
template<>
void qt_memfill (quint64 *dest, quint64 color, qsizetype count)
template<>
void qt_memfill (quint32 *dest, quint32 color, qsizetype count)
template<>
void qt_memfill (quint24 *dest, quint24 color, qsizetype count)
template<>
void qt_memfill (quint16 *dest, quint16 color, qsizetype count)
template<>
void qt_memfill (quint8 *dest, quint8 color, qsizetype count)
template<class T>
static void qt_rectfill (T *dest, T value, int x, int y, int width, int height, qsizetype stride)
ushort qConvertRgb32To16 (uint c)
QRgb qConvertRgb16To32 (uint c)
uint comp_func_Plus_one_pixel_const_alpha (uint d, const uint s, const uint const_alpha, const uint one_minus_const_alpha)
uint comp_func_Plus_one_pixel (uint d, const uint s)

Variables

static const uint AMASK = 0xff000000
static const uint RMASK = 0x00ff0000
static const uint GMASK = 0x0000ff00
static const uint BMASK = 0x000000ff
SrcOverBlendFunc qBlendFunctions [QImage::NImageFormats][QImage::NImageFormats]
SrcOverScaleFunc qScaleFunctions [QImage::NImageFormats][QImage::NImageFormats]
SrcOverTransformFunc qTransformFunctions [QImage::NImageFormats][QImage::NImageFormats]
DrawHelper qDrawHelper [QImage::NImageFormats]
const uint qt_bayer_matrix [16][16]
static constexpr int BufferSize = 2048

Macro Definition Documentation

◆ AMIX

#define AMIX ( mask)
Value:
QT_BEGIN_NAMESPACE constexpr const T & qMin(const T &a, const T &b)
Definition qminmax.h:19
GLint GLint GLint GLint GLint GLint GLint GLbitfield mask
GLdouble s
[6]
Definition qopenglext.h:235
unsigned int quint32
Definition qtypes.h:55
unsigned long long quint64
Definition qtypes.h:66

Definition at line 1015 of file qdrawhelper_p.h.

◆ ARGB_COMBINE_ALPHA

#define ARGB_COMBINE_ALPHA ( argb,
alpha )
Value:
((((argb >> 24) * alpha) >> 8) << 24) | (argb & 0x00ffffff)
GLfloat GLfloat GLfloat alpha
Definition qopenglext.h:418

Definition at line 1006 of file qdrawhelper_p.h.

◆ FETCH_RADIAL_LOOP

#define FETCH_RADIAL_LOOP ( FETCH_RADIAL_LOOP_CLAMP)
Value:
FETCH_RADIAL_LOOP_PROLOGUE \
FETCH_RADIAL_LOOP_CLAMP \
FETCH_RADIAL_LOOP_EPILOGUE

◆ FETCH_RADIAL_LOOP_CLAMP_PAD

#define FETCH_RADIAL_LOOP_CLAMP_PAD    index_vec.v = Simd::v_toInt(Simd::v_min(v_max, Simd::v_max(v_min, v_index)));

◆ FETCH_RADIAL_LOOP_CLAMP_REFLECT

#define FETCH_RADIAL_LOOP_CLAMP_REFLECT
Value:
const typename Simd::Int32x4 v_index_i = Simd::v_and(v_reflect_mask, Simd::v_toInt(v_index)); \
const typename Simd::Int32x4 v_index_i_inv = Simd::v_sub(v_reflect_limit, v_index_i); \
index_vec.v = Simd::v_min_16(v_index_i, v_index_i_inv);

◆ FETCH_RADIAL_LOOP_CLAMP_REPEAT

#define FETCH_RADIAL_LOOP_CLAMP_REPEAT    index_vec.v = Simd::v_and(v_repeat_mask, Simd::v_toInt(v_index));

◆ FETCH_RADIAL_LOOP_EPILOGUE

#define FETCH_RADIAL_LOOP_EPILOGUE
Value:
det_vec.v = Simd::v_add(Simd::v_add(det_vec.v, delta_det4_vec.v), v_delta_delta_det6); \
delta_det4_vec.v = Simd::v_add(delta_det4_vec.v, v_delta_delta_det16); \
b_vec.v = Simd::v_add(b_vec.v, v_delta_b4); \
for (int i = 0; i < 4; ++i) \
*buffer++ = (extended_mask | v_buffer_mask.i[i]) & data->gradient.colorTable32[index_vec.i[i]]; \
}
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
[0]
EGLContext EGLenum EGLClientBuffer buffer

◆ FETCH_RADIAL_LOOP_PROLOGUE

#define FETCH_RADIAL_LOOP_PROLOGUE
Value:
while (buffer < end) { \
typename Simd::Vect_buffer_i v_buffer_mask; \
v_buffer_mask.v = Simd::v_greaterOrEqual(det_vec.v, v_min); \
const typename Simd::Float32x4 v_index_local = Simd::v_sub(Simd::v_sqrt(Simd::v_max(v_min, det_vec.v)), b_vec.v); \
const typename Simd::Float32x4 v_index = Simd::v_add(Simd::v_mul(v_index_local, v_max), v_half); \
v_buffer_mask.v = Simd::v_and(v_buffer_mask.v, Simd::v_greaterOrEqual(Simd::v_add(v_r0, Simd::v_mul(v_dr, v_index_local)), v_min)); \
typename Simd::Vect_buffer_i index_vec;
GLuint GLuint end

◆ GRADIENT_STOPTABLE_SIZE

#define GRADIENT_STOPTABLE_SIZE   1024

Definition at line 267 of file qdrawhelper_p.h.

◆ GRADIENT_STOPTABLE_SIZE_SHIFT

#define GRADIENT_STOPTABLE_SIZE_SHIFT   10

Definition at line 268 of file qdrawhelper_p.h.

◆ MIX

#define MIX ( mask)
Value:

Definition at line 1016 of file qdrawhelper_p.h.

◆ Q_DECL_RESTRICT

#define Q_DECL_RESTRICT

Definition at line 48 of file qdrawhelper_p.h.

◆ Q_DECL_VECTORCALL

#define Q_DECL_VECTORCALL

Definition at line 49 of file qdrawhelper_p.h.

◆ QT_FT_BEGIN_HEADER

#define QT_FT_BEGIN_HEADER

Definition at line 25 of file qdrawhelper_p.h.

◆ QT_FT_END_HEADER

#define QT_FT_END_HEADER

Definition at line 26 of file qdrawhelper_p.h.

Typedef Documentation

◆ AlphamapBlitFunc

typedef void(* AlphamapBlitFunc) (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *bitmap, int mapWidth, int mapHeight, int mapStride, const QClipData *clip, bool useGammaCorrection)

Definition at line 78 of file qdrawhelper_p.h.

◆ AlphaRGBBlitFunc

typedef void(* AlphaRGBBlitFunc) (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uint *rgbmask, int mapWidth, int mapHeight, int mapStride, const QClipData *clip, bool useGammaCorrection)

Definition at line 84 of file qdrawhelper_p.h.

◆ BitmapBlitFunc

typedef void(* BitmapBlitFunc) (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 &color, const uchar *bitmap, int mapWidth, int mapHeight, int mapStride)

Definition at line 73 of file qdrawhelper_p.h.

◆ CompositionFunction

typedef void(QT_FASTCALL * CompositionFunction) (uint *Q_DECL_RESTRICT dest, const uint *Q_DECL_RESTRICT src, int length, uint const_alpha)

Definition at line 156 of file qdrawhelper_p.h.

◆ CompositionFunction64

typedef void(QT_FASTCALL * CompositionFunction64) (QRgba64 *Q_DECL_RESTRICT dest, const QRgba64 *Q_DECL_RESTRICT src, int length, uint const_alpha)

Definition at line 157 of file qdrawhelper_p.h.

◆ CompositionFunctionFP

typedef void(QT_FASTCALL * CompositionFunctionFP) (QRgbaFloat32 *Q_DECL_RESTRICT dest, const QRgbaFloat32 *Q_DECL_RESTRICT src, int length, uint const_alpha)

Definition at line 158 of file qdrawhelper_p.h.

◆ CompositionFunctionSolid

typedef void(QT_FASTCALL * CompositionFunctionSolid) (uint *dest, int length, uint color, uint const_alpha)

Definition at line 159 of file qdrawhelper_p.h.

◆ CompositionFunctionSolid64

typedef void(QT_FASTCALL * CompositionFunctionSolid64) (QRgba64 *dest, int length, QRgba64 color, uint const_alpha)

Definition at line 160 of file qdrawhelper_p.h.

◆ CompositionFunctionSolidFP

typedef void(QT_FASTCALL * CompositionFunctionSolidFP) (QRgbaFloat32 *dest, int length, QRgbaFloat32 color, uint const_alpha)

Definition at line 161 of file qdrawhelper_p.h.

◆ DestFetchProc

typedef uint *(QT_FASTCALL * DestFetchProc) (uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)

Definition at line 182 of file qdrawhelper_p.h.

◆ DestFetchProc64

typedef QRgba64 *(QT_FASTCALL * DestFetchProc64) (QRgba64 *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)

Definition at line 183 of file qdrawhelper_p.h.

◆ DestFetchProcFP

typedef QRgbaFloat32 *(QT_FASTCALL * DestFetchProcFP) (QRgbaFloat32 *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length)

Definition at line 184 of file qdrawhelper_p.h.

◆ DestStoreProc

typedef void(QT_FASTCALL * DestStoreProc) (QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length)

Definition at line 185 of file qdrawhelper_p.h.

◆ DestStoreProc64

typedef void(QT_FASTCALL * DestStoreProc64) (QRasterBuffer *rasterBuffer, int x, int y, const QRgba64 *buffer, int length)

Definition at line 186 of file qdrawhelper_p.h.

◆ DestStoreProcFP

typedef void(QT_FASTCALL * DestStoreProcFP) (QRasterBuffer *rasterBuffer, int x, int y, const QRgbaFloat32 *buffer, int length)

Definition at line 187 of file qdrawhelper_p.h.

◆ ProcessSpans

Definition at line 72 of file qdrawhelper_p.h.

◆ QRgbaFloat32

typedef QRgbaFloat<float> QRgbaFloat32

Definition at line 70 of file qdrawhelper_p.h.

◆ RectFillFunc

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

Definition at line 90 of file qdrawhelper_p.h.

◆ SourceFetchProc

typedef const uint *(QT_FASTCALL * SourceFetchProc) (uint *buffer, const Operator *o, const QSpanData *data, int y, int x, int length)

Definition at line 188 of file qdrawhelper_p.h.

◆ SourceFetchProc64

typedef const QRgba64 *(QT_FASTCALL * SourceFetchProc64) (QRgba64 *buffer, const Operator *o, const QSpanData *data, int y, int x, int length)

Definition at line 189 of file qdrawhelper_p.h.

◆ SourceFetchProcFP

typedef const QRgbaFloat32 *(QT_FASTCALL * SourceFetchProcFP) (QRgbaFloat32 *buffer, const Operator *o, const QSpanData *data, int y, int x, int length)

Definition at line 190 of file qdrawhelper_p.h.

◆ SrcOverBlendFunc

typedef void(* SrcOverBlendFunc) (uchar *destPixels, int dbpl, const uchar *src, int spbl, int w, int h, int const_alpha)

Definition at line 94 of file qdrawhelper_p.h.

◆ SrcOverScaleFunc

typedef void(* SrcOverScaleFunc) (uchar *destPixels, int dbpl, const uchar *src, int spbl, int srch, const QRectF &targetRect, const QRectF &sourceRect, const QRect &clipRect, int const_alpha)

Definition at line 99 of file qdrawhelper_p.h.

◆ SrcOverTransformFunc

typedef void(* SrcOverTransformFunc) (uchar *destPixels, int dbpl, const uchar *src, int spbl, const QRectF &targetRect, const QRectF &sourceRect, const QRect &clipRect, const QTransform &targetRectTransform, int const_alpha)

Definition at line 106 of file qdrawhelper_p.h.

Function Documentation

◆ blend_pixel() [1/2]

void blend_pixel ( quint32 & dst,
const quint32 src )
inlinestatic

Definition at line 636 of file qdrawhelper_p.h.

◆ blend_pixel() [2/2]

void blend_pixel ( quint32 & dst,
const quint32 src,
const int const_alpha )
inlinestatic

Definition at line 644 of file qdrawhelper_p.h.

◆ BYTE_MUL()

uint BYTE_MUL ( uint x,
uint a )
inlinestatic

Definition at line 623 of file qdrawhelper_p.h.

◆ BYTE_MUL_RGB16()

uint BYTE_MUL_RGB16 ( uint x,
uint a )
inlinestatic

Definition at line 871 of file qdrawhelper_p.h.

◆ BYTE_MUL_RGB16_32()

uint BYTE_MUL_RGB16_32 ( uint x,
uint a )
inlinestatic

Definition at line 878 of file qdrawhelper_p.h.

◆ comp_func_Plus_one_pixel()

uint comp_func_Plus_one_pixel ( uint d,
const uint s )
inline

Definition at line 1025 of file qdrawhelper_p.h.

◆ comp_func_Plus_one_pixel_const_alpha()

uint comp_func_Plus_one_pixel_const_alpha ( uint d,
const uint s,
const uint const_alpha,
const uint one_minus_const_alpha )
inline

Definition at line 1019 of file qdrawhelper_p.h.

◆ hasFastInterpolate4()

constexpr bool hasFastInterpolate4 ( )
inlinestaticconstexpr

Definition at line 745 of file qdrawhelper_p.h.

◆ interpolate256()

QRgba64 interpolate256 ( QRgba64 x,
uint alpha1,
QRgba64 y,
uint alpha2 )
inlinestatic

Definition at line 756 of file qdrawhelper_p.h.

◆ interpolate_4_pixels() [1/2]

uint interpolate_4_pixels ( const uint t[],
const uint b[],
uint distx,
uint disty )
inlinestatic

Definition at line 740 of file qdrawhelper_p.h.

◆ interpolate_4_pixels() [2/2]

uint interpolate_4_pixels ( uint tl,
uint tr,
uint bl,
uint br,
uint distx,
uint disty )
inlinestatic

Definition at line 731 of file qdrawhelper_p.h.

◆ interpolate_4_pixels_rgb64()

QRgba64 interpolate_4_pixels_rgb64 ( const QRgba64 t[],
const QRgba64 b[],
uint distx,
uint disty )
inlinestatic

Definition at line 808 of file qdrawhelper_p.h.

◆ INTERPOLATE_PIXEL_255()

uint INTERPOLATE_PIXEL_255 ( uint x,
uint a,
uint y,
uint b )
inlinestatic

Definition at line 581 of file qdrawhelper_p.h.

◆ INTERPOLATE_PIXEL_256()

uint INTERPOLATE_PIXEL_256 ( uint x,
uint a,
uint y,
uint b )
inlinestatic

Definition at line 612 of file qdrawhelper_p.h.

◆ multiplyAlpha256()

QRgba64 multiplyAlpha256 ( QRgba64 rgba64,
uint alpha256 )
inlinestatic

Definition at line 749 of file qdrawhelper_p.h.

◆ qBlendGradient()

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

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

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

Here is the call graph for this function:

◆ qConvertRgb16To32()

QRgb qConvertRgb16To32 ( uint c)
inline

Definition at line 963 of file qdrawhelper_p.h.

◆ qConvertRgb32To16()

ushort qConvertRgb32To16 ( uint c)
inline

Definition at line 956 of file qdrawhelper_p.h.

◆ qRadialDeterminant()

qreal qRadialDeterminant ( qreal a,
qreal b,
qreal c )
inlinestatic

Definition at line 383 of file qdrawhelper_p.h.

◆ qt_div_255()

constexpr int qt_div_255 ( int x)
inlinestaticconstexpr

Definition at line 885 of file qdrawhelper_p.h.

Referenced by color_burn_op(), color_dodge_op(), hardlight_op(), mix_alpha(), multiply_op(), Argb32OperationsC::multiplyAlpha8bit(), and overlay_op().

Here is the caller graph for this function:

◆ qt_div_257()

constexpr uint qt_div_257 ( uint x)
inlinestaticconstexpr

Definition at line 887 of file qdrawhelper_p.h.

◆ qt_div_257_floor()

constexpr uint qt_div_257_floor ( uint x)
inlinestaticconstexpr

Definition at line 886 of file qdrawhelper_p.h.

◆ qt_div_65535()

constexpr uint qt_div_65535 ( uint x)
inlinestaticconstexpr

Definition at line 888 of file qdrawhelper_p.h.

◆ qt_fetch_radial_gradient_template()

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

Definition at line 389 of file qdrawhelper_p.h.

◆ qt_gradient_clamp()

uint qt_gradient_clamp ( const QGradientData * data,
int ipos )
inlinestatic

Definition at line 344 of file qdrawhelper_p.h.

Referenced by qt_gradient_pixel().

Here is the caller graph for this function:

◆ qt_gradient_pixel()

uint qt_gradient_pixel ( const QGradientData * data,
qreal pos )
inlinestatic

Definition at line 369 of file qdrawhelper_p.h.

References qt_gradient_clamp().

Here is the call graph for this function:

◆ qt_memfill() [1/6]

template<>
void qt_memfill ( quint16 * dest,
quint16 color,
qsizetype count )
inline

Definition at line 930 of file qdrawhelper_p.h.

◆ qt_memfill() [2/6]

template<>
void qt_memfill ( quint24 * dest,
quint24 color,
qsizetype count )
inline

Definition at line 925 of file qdrawhelper_p.h.

◆ qt_memfill() [3/6]

template<>
void qt_memfill ( quint32 * dest,
quint32 color,
qsizetype count )
inline

Definition at line 920 of file qdrawhelper_p.h.

◆ qt_memfill() [4/6]

template<>
void qt_memfill ( quint64 * dest,
quint64 color,
qsizetype count )
inline

Definition at line 915 of file qdrawhelper_p.h.

◆ qt_memfill() [5/6]

template<>
void qt_memfill ( quint8 * dest,
quint8 color,
qsizetype count )
inline

Definition at line 935 of file qdrawhelper_p.h.

◆ qt_memfill() [6/6]

template<class T>
void qt_memfill ( T * dest,
T value,
qsizetype count )
inline

Definition at line 910 of file qdrawhelper_p.h.

◆ qt_memfill16()

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

Definition at line 6581 of file qdrawhelper.cpp.

◆ qt_memfill24()

void qt_memfill24 ( quint24 * dest,
quint24 value,
qsizetype count )
extern

Definition at line 6535 of file qdrawhelper.cpp.

◆ qt_memfill32()

QT_BEGIN_NAMESPACE void qt_memfill32 ( quint32 * dest,
quint32 value,
qsizetype count )
extern

Definition at line 6600 of file qdrawhelper.cpp.

◆ qt_memfill64()

void qt_memfill64 ( quint64 * dest,
quint64 value,
qsizetype count )
extern

Definition at line 6526 of file qdrawhelper.cpp.

◆ qt_memfill_template()

template<class T>
void qt_memfill_template ( T * dest,
T color,
qsizetype count )
inline

Definition at line 890 of file qdrawhelper_p.h.

◆ qt_rectfill()

template<class T>
void qt_rectfill ( T * dest,
T value,
int x,
int y,
int width,
int height,
qsizetype stride )
inlinestatic

Definition at line 941 of file qdrawhelper_p.h.

Variable Documentation

◆ AMASK

const uint AMASK = 0xff000000
static

Definition at line 52 of file qdrawhelper_p.h.

◆ BMASK

const uint BMASK = 0x000000ff
static

Definition at line 55 of file qdrawhelper_p.h.

◆ BufferSize

◆ GMASK

const uint GMASK = 0x0000ff00
static

Definition at line 54 of file qdrawhelper_p.h.

◆ qBlendFunctions

Definition at line 549 of file qblendfunctions.cpp.

◆ qDrawHelper

DrawHelper qDrawHelper
extern

Definition at line 6242 of file qdrawhelper.cpp.

◆ qScaleFunctions

Definition at line 548 of file qblendfunctions.cpp.

◆ qt_bayer_matrix

const uint qt_bayer_matrix[16][16]

Definition at line 971 of file qdrawhelper_p.h.

◆ qTransformFunctions

Definition at line 550 of file qblendfunctions.cpp.

◆ RMASK

const uint RMASK = 0x00ff0000
static

Definition at line 53 of file qdrawhelper_p.h.