const QColorGroup& colorGroup) const #else /*! \brief Draw the scale \param painter The painter \param palette Palette, text color is used for the labels, foreground color for ticks and backbone */ void QwtAbstractScaleDraw::draw(QPainter *painter, const QPalette& palette) const #endif { if ( hasComponent(QwtAbstractScaleDraw::Labels) ) { painter->save(); #if QT_VERSION < 0x040000 painter->setPen(colorGroup.text()); // ignore pen style #else painter->setPen(palette.color(QPalette::Text)); // ignore pen style #endif const QwtValueList &majorTicks = d_data->scldiv.ticks(QwtScaleDiv::MajorTick); for (int i = 0; i < (int)majorTicks.count(); i++) { const double v = majorTicks[i]; if ( d_data->scldiv.contains(v) ) drawLabel(painter, majorTicks[i]); } painter->restore(); } if ( hasComponent(QwtAbstractScaleDraw::Ticks) ) { painter->save(); QPen pen = painter->pen(); #if QT_VERSION < 0x040000 pen.setColor(colorGroup.foreground()); #else pen.setColor(palette.color(QPalette::Foreground)); #endif painter->setPen(pen); for ( int tickType = QwtScaleDiv::MinorTick; tickType < QwtScaleDiv::NTickTypes; tickType++ ) { const QwtValueList &ticks = d_data->scldiv.ticks(tickType); for (int i = 0; i < (int)ticks.count(); i++) { const double v = ticks[i]; if ( d_data->scldiv.contains(v) ) drawTick(painter, v, d_data->tickLength[tickType]); } } painter->restore(); } if ( hasComponent(QwtAbstractScaleDraw::Backbone) ) { painter->save(); QPen pen = painter->pen(); #if QT_VERSION < 0x040000 pen.setColor(colorGroup.foreground()); #else pen.setColor(palette.color(QPalette::Foreground)); #endif painter->setPen(pen); drawBackbone(painter); painter->restore(); } }
/*! \brief Draw the scale \param painter The painter \param palette Palette, text color is used for the labels, foreground color for ticks and backbone */ void QwtAbstractScaleDraw::draw( QPainter *painter, const QPalette& palette ) const { painter->save(); QPen pen = painter->pen(); pen.setWidth( d_data->penWidth ); pen.setCosmetic( false ); painter->setPen( pen ); if ( hasComponent( QwtAbstractScaleDraw::Labels ) ) { painter->save(); painter->setPen( palette.color( QPalette::Text ) ); // ignore pen style const QList<double> &majorTicks = d_data->scaleDiv.ticks( QwtScaleDiv::MajorTick ); for ( int i = 0; i < majorTicks.count(); i++ ) { const double v = majorTicks[i]; if ( d_data->scaleDiv.contains( v ) ) drawLabel( painter, v ); } painter->restore(); } if ( hasComponent( QwtAbstractScaleDraw::Ticks ) ) { painter->save(); QPen pen = painter->pen(); pen.setColor( palette.color( QPalette::WindowText ) ); pen.setCapStyle( Qt::FlatCap ); painter->setPen( pen ); for ( int tickType = QwtScaleDiv::MinorTick; tickType < QwtScaleDiv::NTickTypes; tickType++ ) { const QList<double> &ticks = d_data->scaleDiv.ticks( tickType ); for ( int i = 0; i < ticks.count(); i++ ) { const double v = ticks[i]; if ( d_data->scaleDiv.contains( v ) ) drawTick( painter, v, d_data->tickLength[tickType] ); } } painter->restore(); } if ( hasComponent( QwtAbstractScaleDraw::Backbone ) ) { painter->save(); QPen pen = painter->pen(); pen.setColor( palette.color( QPalette::WindowText ) ); pen.setCapStyle( Qt::FlatCap ); painter->setPen( pen ); drawBackbone( painter ); painter->restore(); } painter->restore(); }
void ScaleDraw::draw(QPainter *p, const QPalette& palette, double curValue)// const { double val,hval,majTick; int i,k,kmax; // REMOVE Tim. Trackinfo. Added. p->setPen(palette.text().color()); const int majCnt = d_scldiv.majCnt(); const int minCnt = d_scldiv.minCnt(); // REMOVE Tim. Trackinfo. Changed. // for (i=0; i< d_scldiv.majCnt(); i++) for (i=0; i< majCnt; i++) { val = d_scldiv.majMark(i); drawTick(p, palette, curValue, val, d_majLen); // REMOVE Tim. Trackinfo. Removed. // drawLabel(p, palette, curValue, val); } // REMOVE Tim. Trackinfo. Added. for (i=0; i< majCnt; i++) { val = d_scldiv.majMark(i); drawLabel(p, palette, curValue, val, i == 0); } p->setPen(palette.text().color()); if (d_scldiv.logScale()) { // for (i=0; i< d_scldiv.minCnt(); i++) for (i=0; i< minCnt; i++) { drawTick(p,palette,curValue,d_scldiv.minMark(i),d_minLen); } } else { k = 0; // kmax = d_scldiv.majCnt() - 1; kmax = majCnt - 1; if (kmax > 0) { majTick = d_scldiv.majMark(0); hval = majTick - 0.5 * d_scldiv.majStep(); // for (i=0; i< d_scldiv.minCnt(); i++) for (i=0; i< minCnt; i++) { val = d_scldiv.minMark(i); if (val > majTick) { if (k < kmax) { k++; majTick = d_scldiv.majMark(k); } else { majTick += d_scldiv.majMark(kmax) + d_scldiv.majStep(); } hval = majTick - 0.5 * d_scldiv.majStep(); } if (MusECore::qwtAbs(val-hval) < step_eps * d_scldiv.majStep()) drawTick(p, palette, curValue, val, d_medLen); else drawTick(p, palette, curValue, val, d_minLen); } } } // // draw backbone // if (d_drawBackBone) drawBackbone(p, palette, curValue); }