Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
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)
 
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, Q_ASSERT, qRound(), qt_depthForFormat(), rasterBuffer, QPointF::x(), and QPointF::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 3685 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, Q_ASSERT, qRound(), rasterBuffer, QPointF::x(), and QPointF::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 2976 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 2983 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 2990 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 3514 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 2925 of file qpaintengine_raster.cpp.

References QRect::bottom(), clip(), deviceRect, QRect::left(), QRect::normalized(), 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 2964 of file qpaintengine_raster.cpp.

References isUnclipped(), QRectF::normalized(), and rect.

+ 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 2900 of file qpaintengine_raster.cpp.

References QRect::bottom(), clip(), deviceRect, QRect::left(), r1, QRect::right(), and QRect::top().

+ Here is the call graph for this function:

◆ rasterize() [1/2]

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

Definition at line 3539 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 3205 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 3676 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, 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 3664 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 Qt::NoBrush, qAbs(), Qt::SolidPattern, QTransform::TxNone, 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

QScopedPointer<QRasterBuffer> QRasterPaintEnginePrivate::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: