Much improved legend rendering

This commit is contained in:
Gaute Lindkvist
2020-01-07 09:26:39 +01:00
parent 185b26514b
commit 7bd62052ca
10 changed files with 100 additions and 108 deletions

View File

@@ -64,15 +64,15 @@ protected:
QSize overallLegendSize;
};
void paintEvent( QPaintEvent* e ) override;
std::vector<std::pair<QPoint, QString>> visibleLabels( const LayoutInfo& layout ) const;
void paintEvent( QPaintEvent* e ) override;
std::vector<std::pair<QRect, QString>> visibleLabels( const LayoutInfo& layout ) const;
private:
virtual void layoutInfo( LayoutInfo* layout ) const = 0;
virtual QString label( int index ) const = 0;
virtual int labelPixelPosY( const LayoutInfo& layout, int index ) const = 0;
virtual int labelCount() const = 0;
virtual int rectCount() const = 0;
virtual void layoutInfo( LayoutInfo* layout ) const = 0;
virtual QString label( int index ) const = 0;
virtual QRect labelRect( const LayoutInfo& layout, int index ) const = 0;
virtual int labelCount() const = 0;
virtual int rectCount() const = 0;
virtual void renderRect( QPainter* painter, const LayoutInfo& layout, int rectIndex ) const = 0;