addCommand introduced to be able to manipulate calls by overloading

This commit is contained in:
Uwe Rathmann 2025-02-19 08:31:18 +01:00
parent 0042791483
commit baac1a762b
2 changed files with 12 additions and 5 deletions

View File

@ -907,7 +907,7 @@ void QskGraphic::drawPath( const QPainterPath& path )
if ( painter == nullptr ) if ( painter == nullptr )
return; return;
m_data->addCommand( QskPainterCommand( path ) ); addCommand( QskPainterCommand( path ) );
m_data->commandTypes |= QskGraphic::VectorData; m_data->commandTypes |= QskGraphic::VectorData;
if ( !path.isEmpty() ) if ( !path.isEmpty() )
@ -938,7 +938,7 @@ void QskGraphic::drawPixmap( const QRectF& rect,
if ( painter == nullptr ) if ( painter == nullptr )
return; return;
m_data->addCommand( QskPainterCommand( rect, pixmap, subRect ) ); addCommand( QskPainterCommand( rect, pixmap, subRect ) );
m_data->commandTypes |= QskGraphic::RasterData; m_data->commandTypes |= QskGraphic::RasterData;
const QRectF r = painter->transform().mapRect( rect ); const QRectF r = painter->transform().mapRect( rect );
@ -953,7 +953,7 @@ void QskGraphic::drawImage( const QRectF& rect, const QImage& image,
if ( painter == nullptr ) if ( painter == nullptr )
return; return;
m_data->addCommand( QskPainterCommand( rect, image, subRect, flags ) ); addCommand( QskPainterCommand( rect, image, subRect, flags ) );
m_data->commandTypes |= QskGraphic::RasterData; m_data->commandTypes |= QskGraphic::RasterData;
const QRectF r = painter->transform().mapRect( rect ); const QRectF r = painter->transform().mapRect( rect );
@ -964,7 +964,7 @@ void QskGraphic::drawImage( const QRectF& rect, const QImage& image,
void QskGraphic::updateState( const QPaintEngineState& state ) void QskGraphic::updateState( const QPaintEngineState& state )
{ {
m_data->addCommand( QskPainterCommand( state ) ); addCommand( QskPainterCommand( state ) );
if ( state.state() & QPaintEngine::DirtyTransform ) if ( state.state() & QPaintEngine::DirtyTransform )
{ {
@ -981,6 +981,11 @@ void QskGraphic::updateState( const QPaintEngineState& state )
} }
} }
void QskGraphic::addCommand( const QskPainterCommand& command )
{
m_data->addCommand( command );
}
void QskGraphic::updateBoundingRect( const QRectF& rect ) void QskGraphic::updateBoundingRect( const QRectF& rect )
{ {
QRectF br = rect; QRectF br = rect;

View File

@ -146,7 +146,9 @@ class QSK_EXPORT QskGraphic : public QPaintDevice
virtual void drawImage( const QRectF&, virtual void drawImage( const QRectF&,
const QImage&, const QRectF&, Qt::ImageConversionFlags ); const QImage&, const QRectF&, Qt::ImageConversionFlags );
virtual void updateState( const QPaintEngineState& state ); virtual void updateState( const QPaintEngineState& );
virtual void addCommand( const QskPainterCommand& );
private: private:
void updateBoundingRect( const QRectF& ); void updateBoundingRect( const QRectF& );