QDebug operator<<( QDebug dbg, const MarkerAttributes & ma ) { return dbg << "KDChart::MarkerAttributes(" << "visible=" << ma.isVisible() << "markerStylesMap=" << ma.markerStylesMap() << "markerStyle=" << ma.markerStyle() << "markerColor=" << ma.markerColor() << "pen=" << ma.pen() << ")"; }
void AbstractDiagram::paintMarker( QPainter* painter, const DataValueAttributes& a, const QModelIndex& index, const QPointF& pos ) { if ( !checkInvariants() || !a.isVisible() ) return; const MarkerAttributes ma = a.markerAttributes(); if ( !ma.isVisible() ) return; const PainterSaver painterSaver( painter ); QSizeF maSize = ma.markerSize(); const qreal diagramWidth = d->diagramSize.width(); const qreal diagramHeight = d->diagramSize.height(); switch( ma.markerSizeMode() ) { case MarkerAttributes::AbsoluteSize: // Unscaled, i.e. without the painter's "zoom" maSize.rwidth() /= painter->matrix().m11(); maSize.rheight() /= painter->matrix().m22(); break; case MarkerAttributes::AbsoluteSizeScaled: // Keep maSize as is. It is specified directly in pixels and desired // to be effected by the painter's "zoom". break; case MarkerAttributes::RelativeToDiagramWidth: maSize *= diagramWidth; break; case MarkerAttributes::RelativeToDiagramHeight: maSize *= diagramHeight; break; case MarkerAttributes::RelativeToDiagramWidthHeightMin: maSize *= qMin( diagramWidth, diagramHeight ); break; } QBrush indexBrush( brush( index ) ); QPen indexPen( ma.pen() ); if ( ma.markerColor().isValid() ) indexBrush.setColor( ma.markerColor() ); paintMarker( painter, ma, indexBrush, indexPen, pos, maSize ); // workaround: BC cannot be changed, otherwise we would pass the // index down to next-lower paintMarker function. So far, we // basically save a circle of radius maSize at pos in the // reverseMapper. This means that ^^^ this version of paintMarker // needs to be called to reverse-map the marker. d->reverseMapper.addCircle( index.row(), index.column(), pos, 2 * maSize ); }
bool MarkerAttributes::operator==( const MarkerAttributes& r ) const { /* qDebug() << "MarkerAttributes::operator== finds" << "b" << (isVisible() == r.isVisible()) << "c" << (markerStylesMap() == r.markerStylesMap()) << "d" << (markerStyle() == r.markerStyle()) << markerStyle() <<r.markerStyle() << "e" << (markerSize() == r.markerSize()) << "f" << (markerColor() == r.markerColor()) << "g" << (pen() == r.pen()) << "h" << (markerColor() == r.markerColor()) << markerColor() << r.markerColor(); */ return ( isVisible() == r.isVisible() && markerStylesMap() == r.markerStylesMap() && markerStyle() == r.markerStyle() && markerSize() == r.markerSize() && markerColor() == r.markerColor() && pen() == r.pen() ); }