Add QgsRenderContext to QgsLayerTreeModelLegendNode::ItemContext

This commit is contained in:
Alex 2019-01-14 21:37:36 -05:00 committed by Nyall Dawson
parent 773ee5535a
commit 004d6bae5f
3 changed files with 4 additions and 0 deletions

View File

@ -76,6 +76,7 @@ Default implementation does nothing. *
struct ItemContext
{
QgsRenderContext *context;
QPainter *painter;
QPointF point;
double labelXOffset;

View File

@ -86,6 +86,8 @@ class CORE_EXPORT QgsLayerTreeModelLegendNode : public QObject
struct ItemContext
{
//! Render context, if available
QgsRenderContext *context = nullptr;
//! Painter
QPainter *painter = nullptr;
//! Top-left corner of the legend item

View File

@ -536,6 +536,7 @@ QgsLegendRenderer::Nucleon QgsLegendRenderer::drawSymbolItem( QgsLayerTreeModelL
QgsLegendRenderer::Nucleon QgsLegendRenderer::drawSymbolItemInternal( QgsLayerTreeModelLegendNode *symbolItem, QgsRenderContext *context, QPainter *painter, QPointF point, double labelXOffset )
{
QgsLayerTreeModelLegendNode::ItemContext ctx;
ctx.context = context;
ctx.painter = context ? context->painter() : painter;
ctx.point = point;
ctx.labelXOffset = labelXOffset;