Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QRasterPaintEnginePrivate Class Reference

#include <qpaintengine_raster_p.h>

+ Inheritance diagram for QRasterPaintEnginePrivate:
+ Collaboration diagram for QRasterPaintEnginePrivate:

Public Member Functions

 QRasterPaintEnginePrivate ()
 
void rasterizeLine_dashed (QLineF line, qreal width, int *dashIndex, qreal *dashOffset, bool *inDash)
 
void rasterize (QT_FT_Outline *outline, ProcessSpans callback, QSpanData *spanData, QRasterBuffer *rasterBuffer)
 
void rasterize (QT_FT_Outline *outline, ProcessSpans callback, void *userData, QRasterBuffer *rasterBuffer)
 
void updateMatrixData (QSpanData *spanData, const QBrush &brush, const QTransform &brushMatrix)
 
void updateClipping ()
 
void systemStateChanged () override
 
void drawImage (const QPointF &pt, const QImage &img, SrcOverBlendFunc func, const QRect &clip, int alpha, const QRect &sr=QRect())
 
void blitImage (const QPointF &pt, const QImage &img, const QRect &clip, const QRect &sr=QRect())
 
QTransform brushMatrix () const
 
bool isUnclipped_normalized (const QRect &rect) const
 Returns true if the rectangle is completely within the current clip state of the paint engine.
 
bool isUnclipped (const QRect &rect, int penWidth) const
 
bool isUnclipped (const QRectF &rect, int penWidth) const
 
ProcessSpans getPenFunc (const QRectF &rect, const QSpanData *data) const
 
ProcessSpans getBrushFunc (const QRect &rect, const QSpanData *data) const
 
ProcessSpans getBrushFunc (const QRectF &rect, const QSpanData *data) const
 
const QClipDataclip () const
 
void initializeRasterizer (QSpanData *data)
 
void recalculateFastImages ()
 
bool canUseFastImageBlending (QPainter::CompositionMode mode, const QImage &image) const
 
bool canUseImageBlitting (QPainter::CompositionMode mode, const QImage &image, const QPointF &pt, const QRectF &sr) const
 
- Public Member Functions inherited from QPaintEngineExPrivate
 QPaintEngineExPrivate ()
 
 ~QPaintEngineExPrivate ()
 
void replayClipOperations ()
 
bool hasClipOperations () const
 
- Public Member Functions inherited from QPaintEnginePrivate
 QPaintEnginePrivate ()
 
virtual ~QPaintEnginePrivate ()
 
void updateSystemClip ()
 
void setSystemTransform (const QTransform &xform)
 
void setSystemViewport (const QRegion &region)
 
void setSystemTransformAndViewport (const QTransform &xform, const QRegion &region)
 
virtual void systemStateChanged ()
 
void drawBoxTextItem (const QPointF &p, const QTextItemInt &ti)
 
virtual QPaintEngineaggregateEngine ()
 
virtual Qt::HANDLE nativeHandle ()
 

Public Attributes

QPaintDevicedevice
 
QScopedPointer< QOutlineMapperoutlineMapper
 
QScopedPointer< QRasterBufferrasterBuffer
 
QRect deviceRect
 
QRect deviceRectUnclipped
 
QStroker basicStroker
 
QScopedPointer< QDashStrokerdashStroker
 
QScopedPointer< QT_FT_RastergrayRaster
 
QDataBuffer< QLineFcachedLines
 
QSpanData image_filler
 
QSpanData image_filler_xform
 
QSpanData solid_color_filler
 
QFontEngine::GlyphFormat glyphCacheFormat
 
QScopedPointer< QClipDatabaseClip
 
int deviceDepth
 
uint mono_surface: 1
 
uint outlinemapper_xform_dirty: 1
 
QScopedPointer< QRasterizerrasterizer
 
- Public Attributes inherited from QPaintEngineExPrivate
QStroker stroker
 
QDashStroker dasher
 
StrokeHandlerstrokeHandler
 
QStrokerOpsactiveStroker
 
QPen strokerPen
 
QRect exDeviceRect
 
- Public Attributes inherited from QPaintEnginePrivate
QPaintDevicepdev
 
QPaintEngineq_ptr
 
QRegion baseSystemClip
 
QRegion systemClip
 
QRect systemRect
 
QRegion systemViewport
 
QTransform systemTransform
 
QPaintDevicecurrentClipDevice
 
uint hasSystemTransform: 1
 
uint hasSystemViewport: 1
 

Additional Inherited Members

- Static Public Member Functions inherited from QPaintEnginePrivate
static QPaintEnginePrivateget (QPaintEngine *paintEngine)
 

Detailed Description

Definition at line 232 of file qpaintengine_raster_p.h.

Constructor & Destructor Documentation

◆ QRasterPaintEnginePrivate()

QRasterPaintEnginePrivate::QRasterPaintEnginePrivate ( )

Definition at line 234 of file qpaintengine_raster.cpp.

Member Function Documentation

◆ blitImage()

void QRasterPaintEnginePrivate::blitImage ( const QPointF pt,
const QImage img,
const QRect clip,
const QRect sr = QRect() 
)

Definition at line 928 of file qpaintengine_raster.cpp.

References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::bytesPerPixel(), clip(), d, QRasterBuffer::format, QRect::height(), QRect::isEmpty(), Q_ASSERT, qRound(), qt_depthForFormat(), rasterBuffer, QRect::width(), QPointF::x(), QRect::x(), QPointF::y(), and QRect::y().

+ Here is the call graph for this function:

◆ brushMatrix()

QTransform QRasterPaintEnginePrivate::brushMatrix ( ) const
inline

Definition at line 252 of file qpaintengine_raster_p.h.

References QPaintEngineState::state().

+ Here is the call graph for this function:

◆ canUseFastImageBlending()

bool QRasterPaintEnginePrivate::canUseFastImageBlending ( QPainter::CompositionMode  mode,
const QImage image 
) const

Definition at line 3676 of file qpaintengine_raster.cpp.

References QPainter::CompositionMode_Source, QPainter::CompositionMode_SourceOver, and QPaintEngineState::state().

+ Here is the call graph for this function:

◆ canUseImageBlitting()

bool QRasterPaintEnginePrivate::canUseImageBlitting ( QPainter::CompositionMode  mode,
const QImage image,
const QPointF pt,
const QRectF sr 
) const

◆ clip()

const QClipData * QRasterPaintEnginePrivate::clip ( ) const
inline

Definition at line 434 of file qpaintengine_raster_p.h.

References baseClip, and QScopedPointer< T, Cleanup >::data().

Referenced by blitImage(), QBlitterPaintEnginePrivate::clipAndDrawPixmap(), drawImage(), QBlitterPaintEnginePrivate::fillRect(), initializeRasterizer(), isUnclipped(), isUnclipped_normalized(), and QBlitterPaintEnginePrivate::updateClipState().

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

◆ drawImage()

void QRasterPaintEnginePrivate::drawImage ( const QPointF pt,
const QImage img,
SrcOverBlendFunc  func,
const QRect clip,
int  alpha,
const QRect sr = QRect() 
)

Definition at line 856 of file qpaintengine_raster.cpp.

References QRasterBuffer::buffer(), QRasterBuffer::bytesPerLine(), QRasterBuffer::bytesPerPixel(), clip(), d, QRect::height(), QRect::isEmpty(), Q_ASSERT, qRound(), rasterBuffer, QRect::width(), QPointF::x(), QRect::x(), QPointF::y(), and QRect::y().

+ Here is the call graph for this function:

◆ getBrushFunc() [1/2]

ProcessSpans QRasterPaintEnginePrivate::getBrushFunc ( const QRect rect,
const QSpanData data 
) const
inline

Definition at line 2969 of file qpaintengine_raster.cpp.

References isUnclipped(), and rect.

+ Here is the call graph for this function:

◆ getBrushFunc() [2/2]

ProcessSpans QRasterPaintEnginePrivate::getBrushFunc ( const QRectF rect,
const QSpanData data 
) const
inline

Definition at line 2976 of file qpaintengine_raster.cpp.

References isUnclipped(), and rect.

+ Here is the call graph for this function:

◆ getPenFunc()

ProcessSpans QRasterPaintEnginePrivate::getPenFunc ( const QRectF rect,
const QSpanData data 
) const
inline

Definition at line 2983 of file qpaintengine_raster.cpp.

References isUnclipped(), qCeil(), rect, QPaintEngineState::state(), and QTransform::TxTranslate.

+ Here is the call graph for this function:

◆ initializeRasterizer()

void QRasterPaintEnginePrivate::initializeRasterizer ( QSpanData data)

Definition at line 3505 of file qpaintengine_raster.cpp.

References clip(), deviceRect, QRasterizer::initialize(), QRect::intersected(), rasterizer, QRasterizer::setAntialiased(), QRasterizer::setClipRect(), and QPaintEngineState::state().

Referenced by rasterize().

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

◆ isUnclipped() [1/2]

bool QRasterPaintEnginePrivate::isUnclipped ( const QRect rect,
int  penWidth 
) const

Definition at line 2918 of file qpaintengine_raster.cpp.

References QRect::bottom(), clip(), QClipData::clipRect, QClipData::clipRegion, deviceRect, QClipData::hasRectClip, QRect::left(), r1, rect, QRect::right(), QRect::setX(), QPaintEngineState::state(), and QRect::top().

Referenced by getBrushFunc(), getBrushFunc(), getPenFunc(), and isUnclipped().

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

◆ isUnclipped() [2/2]

bool QRasterPaintEnginePrivate::isUnclipped ( const QRectF rect,
int  penWidth 
) const
inline

Definition at line 2957 of file qpaintengine_raster.cpp.

References QRectF::bottom(), QRectF::height(), isUnclipped(), QRectF::left(), rect, QRectF::right(), QRectF::toAlignedRect(), QRectF::top(), and QRectF::width().

+ Here is the call graph for this function:

◆ isUnclipped_normalized()

bool QRasterPaintEnginePrivate::isUnclipped_normalized ( const QRect rect) const

Returns true if the rectangle is completely within the current clip state of the paint engine.

Definition at line 2893 of file qpaintengine_raster.cpp.

References QRect::bottom(), clip(), QClipData::clipRect, QClipData::clipRegion, deviceRect, QClipData::hasRectClip, QRect::left(), r1, QRect::right(), and QRect::top().

Referenced by fillRect_normalized().

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

◆ rasterize() [1/2]

void QRasterPaintEnginePrivate::rasterize ( QT_FT_Outline outline,
ProcessSpans  callback,
QSpanData spanData,
QRasterBuffer rasterBuffer 
)

Definition at line 3530 of file qpaintengine_raster.cpp.

References QT_FT_Outline_::flags, initializeRasterizer(), Qt::OddEvenFill, QT_FT_OUTLINE_NONE, rasterBuffer, QRasterizer::rasterize(), rasterize(), rasterizer, QPaintEngineState::state(), and Qt::WindingFill.

Referenced by rasterize(), and rasterizeLine_dashed().

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

◆ rasterize() [2/2]

◆ rasterizeLine_dashed()

void QRasterPaintEnginePrivate::rasterizeLine_dashed ( QLineF  line,
qreal  width,
int *  dashIndex,
qreal dashOffset,
bool *  inDash 
)

Definition at line 3198 of file qpaintengine_raster.cpp.

References QList< T >::at(), QPen::capStyle(), QPen::dashPattern(), i, QString::length(), line, QLineF::p1(), QLineF::p2(), Q_ASSERT, rasterize(), QRasterizer::rasterizeLine(), rasterizer, QDashStroker::repetitionLimit(), QLineF::setLength(), Qt::SquareCap, and QPaintEngineState::state().

+ Here is the call graph for this function:

◆ recalculateFastImages()

void QRasterPaintEnginePrivate::recalculateFastImages ( )

Definition at line 3667 of file qpaintengine_raster.cpp.

References QPainter::SmoothPixmapTransform, QPaintEngineState::state(), and QTransform::TxShear.

+ Here is the call graph for this function:

◆ systemStateChanged()

void QRasterPaintEnginePrivate::systemStateChanged ( )
overridevirtual

Reimplemented from QPaintEnginePrivate.

Definition at line 1004 of file qpaintengine_raster.cpp.

References baseClip, QRegion::boundingRect(), device, deviceRect, deviceRectUnclipped, QPaintEngine::DirtyClipRegion, QPaintEngineExPrivate::exDeviceRect, QPaintDevice::height(), QRegion::isEmpty(), qDebug, qMin(), QT_RASTER_COORD_LIMIT, QClipData::setClipRect(), QClipData::setClipRegion(), QPaintEnginePrivate::systemClip, and QPaintDevice::width().

+ Here is the call graph for this function:

◆ updateClipping()

void QRasterPaintEnginePrivate::updateClipping ( )

Definition at line 3655 of file qpaintengine_raster.cpp.

References qrasterpaintengine_state_setNoClip(), QPaintEngineExPrivate::replayClipOperations(), and QPaintEngineState::state().

+ Here is the call graph for this function:

◆ updateMatrixData()

void QRasterPaintEnginePrivate::updateMatrixData ( QSpanData spanData,
const QBrush brush,
const QTransform brushMatrix 
)

Definition at line 1032 of file qpaintengine_raster.cpp.

References QSpanData::adjustSpanMethods(), QSpanData::bilinear, QSpanData::dx, QSpanData::dy, QSpanData::fast_matrix, QSpanData::m11, QSpanData::m12, QSpanData::m13, QSpanData::m21, QSpanData::m22, QSpanData::m23, QSpanData::m33, Qt::NoBrush, qAbs(), QSpanData::setupMatrix(), Qt::SolidPattern, QTransform::TxNone, QSpanData::txop, and QTransform::TxTranslate.

+ Here is the call graph for this function:

Member Data Documentation

◆ baseClip

QScopedPointer<QClipData> QRasterPaintEnginePrivate::baseClip

Definition at line 299 of file qpaintengine_raster_p.h.

Referenced by clip(), and systemStateChanged().

◆ basicStroker

QStroker QRasterPaintEnginePrivate::basicStroker

Definition at line 286 of file qpaintengine_raster_p.h.

◆ cachedLines

QDataBuffer<QLineF> QRasterPaintEnginePrivate::cachedLines

Definition at line 291 of file qpaintengine_raster_p.h.

◆ dashStroker

QScopedPointer<QDashStroker> QRasterPaintEnginePrivate::dashStroker

Definition at line 287 of file qpaintengine_raster_p.h.

◆ device

QPaintDevice* QRasterPaintEnginePrivate::device

Definition at line 275 of file qpaintengine_raster_p.h.

Referenced by systemStateChanged().

◆ deviceDepth

int QRasterPaintEnginePrivate::deviceDepth

Definition at line 301 of file qpaintengine_raster_p.h.

◆ deviceRect

◆ deviceRectUnclipped

QRect QRasterPaintEnginePrivate::deviceRectUnclipped

Definition at line 284 of file qpaintengine_raster_p.h.

Referenced by systemStateChanged().

◆ glyphCacheFormat

QFontEngine::GlyphFormat QRasterPaintEnginePrivate::glyphCacheFormat

Definition at line 297 of file qpaintengine_raster_p.h.

◆ grayRaster

QScopedPointer<QT_FT_Raster> QRasterPaintEnginePrivate::grayRaster

Definition at line 289 of file qpaintengine_raster_p.h.

Referenced by rasterize().

◆ image_filler

QSpanData QRasterPaintEnginePrivate::image_filler

Definition at line 292 of file qpaintengine_raster_p.h.

◆ image_filler_xform

QSpanData QRasterPaintEnginePrivate::image_filler_xform

Definition at line 293 of file qpaintengine_raster_p.h.

◆ mono_surface

uint QRasterPaintEnginePrivate::mono_surface

Definition at line 303 of file qpaintengine_raster_p.h.

◆ outlineMapper

QScopedPointer<QOutlineMapper> QRasterPaintEnginePrivate::outlineMapper

Definition at line 276 of file qpaintengine_raster_p.h.

◆ outlinemapper_xform_dirty

uint QRasterPaintEnginePrivate::outlinemapper_xform_dirty

Definition at line 304 of file qpaintengine_raster_p.h.

◆ rasterBuffer

◆ rasterizer

QScopedPointer<QRasterizer> QRasterPaintEnginePrivate::rasterizer

◆ solid_color_filler

QSpanData QRasterPaintEnginePrivate::solid_color_filler

Definition at line 294 of file qpaintengine_raster_p.h.


The documentation for this class was generated from the following files: