23 #ifndef KDCHARTPIEDIAGRAM_H
24 #define KDCHARTPIEDIAGRAM_H
30 class LabelPaintCache;
59 LineFromSliceDecoration = 2
61 Q_DECLARE_FLAGS( LabelDecorations, LabelDecoration )
63 void setLabelDecorations( LabelDecorations decorations );
65 LabelDecorations labelDecorations()
const;
71 void setLabelCollisionAvoidanceEnabled(
bool enabled );
73 bool isLabelCollisionAvoidanceEnabled()
const;
76 void resize (
const QSizeF& area )
override;
80 qreal valueTotals ()
const override;
82 qreal numberOfValuesPerDataset()
const override;
84 qreal numberOfGridRings()
const override;
91 void paintEvent( QPaintEvent* )
override;
92 void resizeEvent( QResizeEvent* )
override;
98 void shuffleLabels( QRectF* textBoundingRect );
100 void drawSlice( QPainter* painter,
const QRectF& drawPosition, uint slice );
101 void drawSliceSurface( QPainter* painter,
const QRectF& drawPosition, uint slice );
102 void addSliceLabel( LabelPaintCache* lpc,
const QRectF& drawPosition, uint slice );
103 void draw3DEffect( QPainter* painter,
const QRectF& drawPosition, uint slice );
104 void draw3dCutSurface( QPainter* painter,
108 void draw3dOuterRim( QPainter* painter,
113 void calcSliceAngles();
114 void calcPieSize(
const QRectF &contentsRect );
115 QRectF twoDPieRect(
const QRectF &contentsRect,
const ThreeDPieAttributes& threeDAttrs )
const;
116 QRectF explodedDrawPosition(
const QRectF& drawPosition, uint slice )
const;
117 uint findSliceAt( qreal angle,
int columnCount );
118 uint findLeftSlice( uint slice,
int columnCount );
119 uint findRightSlice( uint slice,
int columnCount );
120 QPointF pointOnEllipse(
const QRectF& boundingBox, qreal angle );
123 Q_DECLARE_OPERATORS_FOR_FLAGS( PieDiagram::LabelDecorations )
126 #endif // KDCHARTPIEDIAGRAM_H