//! Draw the thumb at a position void QwtSlider::drawThumb(QPainter *p, const QRect &sliderRect, int pos) { pos++; // shade line points one pixel below if (orientation() == Qt::Horizontal) { qDrawShadePanel(p, pos - d_thumbLength / 2, sliderRect.y(), d_thumbLength, sliderRect.height(), colorGroup(), FALSE, d_borderWidth, &colorGroup().brush(QColorGroup::Button)); qDrawShadeLine(p, pos, sliderRect.y(), pos, sliderRect.y() + sliderRect.height() - 2, colorGroup(), TRUE, 1); } else // Vertical { qDrawShadePanel(p,sliderRect.x(), pos - d_thumbLength / 2, sliderRect.width(), d_thumbLength, colorGroup(),FALSE, d_borderWidth, &colorGroup().brush(QColorGroup::Button)); qDrawShadeLine(p, sliderRect.x(), pos, sliderRect.x() + sliderRect.width() - 2, pos, colorGroup(), TRUE, 1); } }
//! Draw the thumb at a position void QwtSlider::drawThumb(QPainter *p, const QRect &sliderRect, int pos) { pos++; // shade line points one pixel below if (orientation() == Qt::Horizontal) { qDrawShadePanel(p, pos - d_data->thumbLength / 2, sliderRect.y(), d_data->thumbLength, sliderRect.height(), #if QT_VERSION < 0x040000 colorGroup(), #else palette(), #endif false, d_data->borderWidth, #if QT_VERSION < 0x040000 &colorGroup().brush(QColorGroup::Button) #else &palette().brush(QPalette::Button) #endif ); qDrawShadeLine(p, pos, sliderRect.y(), pos, sliderRect.y() + sliderRect.height() - 2, #if QT_VERSION < 0x040000 colorGroup(), #else palette(), #endif true, 1); } else // Vertical { qDrawShadePanel(p,sliderRect.x(), pos - d_data->thumbLength / 2, sliderRect.width(), d_data->thumbLength, #if QT_VERSION < 0x040000 colorGroup(), #else palette(), #endif false, d_data->borderWidth, #if QT_VERSION < 0x040000 &colorGroup().brush(QColorGroup::Button) #else &palette().brush(QPalette::Button) #endif ); qDrawShadeLine(p, sliderRect.x(), pos, sliderRect.x() + sliderRect.width() - 2, pos, #if QT_VERSION < 0x040000 colorGroup(), #else palette(), #endif true, 1); } }
void qDrawShadeLine(QPainter *p, const QPoint &p1, const QPoint &p2, const QPalette &pal, bool sunken, int lineWidth, int midLineWidth) { qDrawShadeLine(p, p1.x(), p1.y(), p2.x(), p2.y(), pal, sunken, lineWidth, midLineWidth); }
void qDrawShadeLine( QPainter *p, const QPoint &p1, const QPoint &p2, const QColorGroup &g, bool sunken, int lineWidth, int midLineWidth ) { qDrawShadeLine( p, p1.x(), p1.y(), p2.x(), p2.y(), g, sunken, lineWidth, midLineWidth ); }
void FreshStyle::drawSlider( QPainter *p, int x, int y, int w, int h, const QColorGroup &g, Orientation o, bool tickAbove, bool tickBelow ) { int a = tickAbove ? 3 : 0; int b = tickBelow ? 3 : 0; if ( o == Horizontal ) { drawBevelButton( p, x, y+a, w, h-a-b, g, FALSE, &g.brush( QColorGroup::Button ) ); int xp = x + w/2; qDrawShadeLine( p, xp, y+a+2, xp, y+h-b-3, g ); } else { drawBevelButton( p, x+a, y, w-a-b, h, g, FALSE, &g.brush( QColorGroup::Button ) ); int yp = y + h/2; qDrawShadeLine( p, x+a+2, yp, x+w-b-3, yp, g ); } }
/*! Virtual function that draws the mask of the frame's frame. If you reimplemented drawFrame(QPainter*) and your widget should support transparency you probably have to re-implement this function as well. \sa drawFrame(), updateMask(), QWidget::setAutoMask(), QPainter::setClipRect() */ void QFrame::drawFrameMask( QPainter* p ) { QPoint p1, p2; QRect r = frameRect(); int type = fstyle & MShape; int style = fstyle & MShadow; #ifdef QT_NO_DRAWUTIL p->setPen( color1 ); p->drawRect( r ); //### a bit too simple #else QColorGroup g(color1, color1, color1, color1, color1, color1, color1, color1, color0); switch ( type ) { case Box: if ( style == Plain ) qDrawPlainRect( p, r, g.foreground(), lwidth ); else qDrawShadeRect( p, r, g, style == Sunken, lwidth, midLineWidth() ); break; case Panel: if ( style == Plain ) qDrawPlainRect( p, r, g.foreground(), lwidth ); else qDrawShadePanel( p, r, g, style == Sunken, lwidth ); break; case WinPanel: if ( style == Plain ) qDrawPlainRect( p, r, g.foreground(), wpwidth ); else qDrawWinPanel( p, r, g, style == Sunken ); break; case HLine: case VLine: if ( type == HLine ) { p1 = QPoint( r.x(), r.height()/2 ); p2 = QPoint( r.x()+r.width(), p1.y() ); } else { p1 = QPoint( r.x()+r.width()/2, 0 ); p2 = QPoint( p1.x(), r.height() ); } if ( style == Plain ) { QPen oldPen = p->pen(); p->setPen( QPen(g.foreground(),lwidth) ); p->drawLine( p1, p2 ); p->setPen( oldPen ); } else qDrawShadeLine( p, p1, p2, g, style == Sunken, lwidth, midLineWidth() ); break; } #endif // QT_NO_DRAWUTIL }
/*! Draw the thumb at a position \param painter Painter \param sliderRect Bounding rectangle of the slider \param pos Position of the slider thumb */ void QwtSlider::drawHandle( QPainter *painter, const QRect &sliderRect, int pos ) const { const int bw = d_data->borderWidth; pos++; // shade line points one pixel below if ( orientation() == Qt::Horizontal ) { QRect handleRect( pos - d_data->handleSize.width() / 2, sliderRect.y(), d_data->handleSize.width(), sliderRect.height() ); qDrawShadePanel( painter, handleRect, palette(), false, bw, &palette().brush( QPalette::Button ) ); qDrawShadeLine( painter, pos, sliderRect.top() + bw, pos, sliderRect.bottom() - bw, palette(), true, 1 ); } else // Vertical { QRect handleRect( sliderRect.left(), pos - d_data->handleSize.height() / 2, sliderRect.width(), d_data->handleSize.height() ); qDrawShadePanel( painter, handleRect, palette(), false, bw, &palette().brush( QPalette::Button ) ); qDrawShadeLine( painter, sliderRect.left() + bw, pos, sliderRect.right() - bw, pos, palette(), true, 1 ); } }
void QGroupBox::paintEvent( QPaintEvent *event ) { QPainter paint( this ); if ( lenvisible && !isCheckable() ) { // draw title QFontMetrics fm = paint.fontMetrics(); int h = fm.height(); int tw = fm.width( str, lenvisible ) + fm.width(QChar(' ')); int x; int marg = bFlat ? 0 : 8; if ( align & AlignHCenter ) // center alignment x = frameRect().width()/2 - tw/2; else if ( align & AlignRight ) // right alignment x = frameRect().width() - tw - marg; else if ( align & AlignLeft ) // left alignment x = marg; else { // auto align if( QApplication::reverseLayout() ) x = frameRect().width() - tw - marg; else x = marg; } QRect r( x, 0, tw, h ); int va = style().styleHint(QStyle::SH_GroupBox_TextLabelVerticalAlignment, this); if(va & AlignTop) r.moveBy(0, fm.descent()); QColor pen( (QRgb) style().styleHint(QStyle::SH_GroupBox_TextLabelColor, this ) ); if (!style().styleHint(QStyle::SH_UnderlineAccelerator, this)) va |= NoAccel; style().drawItem( &paint, r, ShowPrefix | AlignHCenter | va, colorGroup(), isEnabled(), 0, str, -1, ownPalette() ? 0 : &pen ); paint.setClipRegion( event->region().subtract( r ) ); // clip everything but title #ifndef QT_NO_CHECKBOX } else if ( d->checkbox ) { QRect cbClip = d->checkbox->geometry(); QFontMetrics fm = paint.fontMetrics(); cbClip.setX( cbClip.x() - fm.width(QChar(' ')) ); cbClip.setWidth( cbClip.width() + fm.width(QChar(' ')) ); paint.setClipRegion( event->region().subtract( cbClip ) ); #endif } if ( bFlat ) { QRect fr = frameRect(); QPoint p1( fr.x(), fr.y() + 1 ); QPoint p2( fr.x() + fr.width(), p1.y() ); // ### This should probably be a style primitive. qDrawShadeLine( &paint, p1, p2, colorGroup(), TRUE, lineWidth(), midLineWidth() ); } else { drawFrame(&paint); } drawContents( &paint ); // draw the contents }
void paint(QPainter* p) { int w = listBox()->maxItemWidth(); if (w < listBox()->width()) w = listBox()->width(); int h = height(listBox()); QRect rcItem(0, 0, w, h); p->setBackgroundColor(listBox()->colorGroup().background()); p->eraseRect(rcItem); qDrawShadeLine(p, 4, h / 2, w - 8, h / 2, listBox()->colorGroup(), false, 1, 0); p->setBackgroundMode(Qt::OpaqueMode); p->setPen(listBox()->colorGroup().buttonText()); p->drawText(4, 0, 102, h, Qt::AlignCenter | Qt::AlignVCenter, " " + text() + " "); }
void Q3GroupBox::drawFrame(QPainter *p) { QPoint p1, p2; QStyleOptionFrame opt; opt.init(this); int frameShape = d->frameStyle & QFrame::Shape_Mask; int frameShadow = d->frameStyle & QFrame::Shadow_Mask; int lw = 0; int mlw = 0; opt.rect = frameRect(); switch (frameShape) { case QFrame::Box: case QFrame::HLine: case QFrame::VLine: case QFrame::StyledPanel: lw = d->lineWidth; mlw = d->midLineWidth; break; default: // most frame styles do not handle customized line and midline widths // (see updateFrameWidth()). lw = d->frameWidth; break; } opt.lineWidth = lw; opt.midLineWidth = mlw; if (frameShadow == Sunken) opt.state |= QStyle::State_Sunken; else if (frameShadow == Raised) opt.state |= QStyle::State_Raised; switch (frameShape) { case Box: if (frameShadow == Plain) qDrawPlainRect(p, opt.rect, opt.palette.foreground().color(), lw); else qDrawShadeRect(p, opt.rect, opt.palette, frameShadow == Sunken, lw, mlw); break; case StyledPanel: style()->drawPrimitive(QStyle::PE_Frame, &opt, p, this); break; case Panel: if (frameShadow == Plain) qDrawPlainRect(p, opt.rect, opt.palette.foreground().color(), lw); else qDrawShadePanel(p, opt.rect, opt.palette, frameShadow == Sunken, lw); break; case WinPanel: if (frameShadow == Plain) qDrawPlainRect(p, opt.rect, opt.palette.foreground().color(), lw); else qDrawWinPanel(p, opt.rect, opt.palette, frameShadow == Sunken); break; case HLine: case VLine: if (frameShape == HLine) { p1 = QPoint(opt.rect.x(), opt.rect.height() / 2); p2 = QPoint(opt.rect.x() + opt.rect.width(), p1.y()); } else { p1 = QPoint(opt.rect.x()+opt.rect.width() / 2, 0); p2 = QPoint(p1.x(), opt.rect.height()); } if (frameShadow == Plain) { QPen oldPen = p->pen(); p->setPen(QPen(opt.palette.foreground().color(), lw)); p->drawLine(p1, p2); p->setPen(oldPen); } else { qDrawShadeLine(p, p1, p2, opt.palette, frameShadow == Sunken, lw, mlw); } break; } #ifdef QT_KEYPAD_NAVIGATION if (QApplication::keypadNavigationEnabled() && hasFocus()) { QStyleOptionFocusRect fopt; fopt.init(this); fopt.state |= QStyle::State_KeyboardFocusChange; fopt.rect = frameRect(); style()->drawPrimitive(QStyle::PE_FrameFocusRect, &fopt, p, this); } #endif }
void Frame::drawFrame(QPainter *p) { QPoint p1, p2; QStyleOptionFrame opt; opt.init(this); if ( hasFocus() ) { opt.state |= QStyle::State_HasFocus; } int frameShape = frameStyle() & QFrame::Shape_Mask; int frameShadow = frameStyle() & QFrame::Shadow_Mask; int lw = 0; int mlw = 0; opt.rect = frameRect(); switch (frameShape) { case QFrame::Box: case QFrame::HLine: case QFrame::VLine: case QFrame::StyledPanel: lw = lineWidth(); mlw = midLineWidth(); break; default: // most frame styles do not handle customized line and midline widths // (see updateFrameWidth()). lw = frameWidth(); break; } opt.lineWidth = lw; opt.midLineWidth = mlw; if (frameShadow == Sunken) opt.state |= QStyle::State_Sunken; else if (frameShadow == Raised) opt.state |= QStyle::State_Raised; switch (frameShape) { case Box: if (frameShadow == Plain) qDrawPlainRect(p, opt.rect, opt.palette.foreground().color(), lw); else qDrawShadeRect(p, opt.rect, opt.palette, frameShadow == Sunken, lw, mlw); break; case StyledPanel: style()->drawPrimitive(QStyle::PE_Frame, &opt, p, this); break; case Panel: if (frameShadow == Plain) qDrawPlainRect(p, opt.rect, opt.palette.foreground().color(), lw); else qDrawShadePanel(p, opt.rect, opt.palette, frameShadow == Sunken, lw); break; case WinPanel: if (frameShadow == Plain) qDrawPlainRect(p, opt.rect, opt.palette.foreground().color(), lw); else qDrawWinPanel(p, opt.rect, opt.palette, frameShadow == Sunken); break; case HLine: case VLine: if (frameShape == HLine) { p1 = QPoint(opt.rect.x(), opt.rect.height() / 2); p2 = QPoint(opt.rect.x() + opt.rect.width(), p1.y()); } else { p1 = QPoint(opt.rect.x()+opt.rect.width() / 2, 0); p2 = QPoint(p1.x(), opt.rect.height()); } if (frameShadow == Plain) { QPen oldPen = p->pen(); p->setPen(QPen(opt.palette.foreground().color(), lw)); p->drawLine(p1, p2); p->setPen(oldPen); } else { qDrawShadeLine(p, p1, p2, opt.palette, frameShadow == Sunken, lw, mlw); } break; } }
void QFrame::drawFrame(QPainter *p) { QPoint p1, p2; QRect r = frameRect(); int type = fstyle & MShape; int cstyle = fstyle & MShadow; #ifdef QT_NO_DRAWUTIL p->setPen(black); // #### p->drawRect(r); //### a bit too simple #else const QColorGroup & g = colorGroup(); #ifndef QT_NO_STYLE QStyleOption opt(lineWidth(), midLineWidth()); QStyle::SFlags flags = QStyle::Style_Default; if (isEnabled()) flags |= QStyle::Style_Enabled; if (cstyle == Sunken) flags |= QStyle::Style_Sunken; else if (cstyle == Raised) flags |= QStyle::Style_Raised; if (hasFocus()) flags |= QStyle::Style_HasFocus; if (hasMouse()) flags |= QStyle::Style_MouseOver; #endif // QT_NO_STYLE switch (type) { case Box: if (cstyle == Plain) qDrawPlainRect(p, r, g.foreground(), lwidth); else qDrawShadeRect(p, r, g, cstyle == Sunken, lwidth, midLineWidth()); break; case LineEditPanel: style().drawPrimitive(QStyle::PE_PanelLineEdit, p, r, g, flags, opt); break; case GroupBoxPanel: style().drawPrimitive(QStyle::PE_PanelGroupBox, p, r, g, flags, opt); break; case TabWidgetPanel: style().drawPrimitive(QStyle::PE_PanelTabWidget, p, r, g, flags, opt); break; case MenuBarPanel: #ifndef QT_NO_STYLE style().drawPrimitive(QStyle::PE_PanelMenuBar, p, r, g, flags, opt); break; #endif // fall through to Panel if QT_NO_STYLE case ToolBarPanel: #ifndef QT_NO_STYLE style().drawPrimitive(QStyle::PE_PanelDockWindow, p, rect(), g, flags, opt); break; #endif // fall through to Panel if QT_NO_STYLE case StyledPanel: #ifndef QT_NO_STYLE if (cstyle == Plain) qDrawPlainRect(p, r, g.foreground(), lwidth); else style().drawPrimitive(QStyle::PE_Panel, p, r, g, flags, opt); break; #endif // fall through to Panel if QT_NO_STYLE case PopupPanel: #ifndef QT_NO_STYLE { int vextra = style().pixelMetric(QStyle::PM_PopupMenuFrameVerticalExtra, this), hextra = style().pixelMetric(QStyle::PM_PopupMenuFrameHorizontalExtra, this); if (vextra > 0 || hextra > 0) { QRect fr = frameRect(); int fw = frameWidth(); if (vextra > 0) { style().drawControl(QStyle::CE_PopupMenuVerticalExtra, p, this, QRect(fr.x() + fw, fr.y() + fw, fr.width() - (fw*2), vextra), g, flags, opt); style().drawControl(QStyle::CE_PopupMenuVerticalExtra, p, this, QRect(fr.x() + fw, fr.bottom() - fw - vextra, fr.width() - (fw*2), vextra), g, flags, opt); } if (hextra > 0) { style().drawControl(QStyle::CE_PopupMenuHorizontalExtra, p, this, QRect(fr.x() + fw, fr.y() + fw + vextra, hextra, fr.height() - (fw*2) - vextra), g, flags, opt); style().drawControl(QStyle::CE_PopupMenuHorizontalExtra, p, this, QRect(fr.right() - fw - hextra, fr.y() + fw + vextra, hextra, fr.height() - (fw*2) - vextra), g, flags, opt); } } if (cstyle == Plain) qDrawPlainRect(p, r, g.foreground(), lwidth); else style().drawPrimitive(QStyle::PE_PanelPopup, p, r, g, flags, opt); break; } #endif // fall through to Panel if QT_NO_STYLE case Panel: if (cstyle == Plain) qDrawPlainRect(p, r, g.foreground(), lwidth); else qDrawShadePanel(p, r, g, cstyle == Sunken, lwidth); break; case WinPanel: if (cstyle == Plain) qDrawPlainRect(p, r, g.foreground(), wpwidth); else qDrawWinPanel(p, r, g, cstyle == Sunken); break; case HLine: case VLine: if (type == HLine) { p1 = QPoint(r.x(), r.height() / 2); p2 = QPoint(r.x() + r.width(), p1.y()); } else { p1 = QPoint(r.x() + r.width() / 2, 0); p2 = QPoint(p1.x(), r.height()); } if (cstyle == Plain) { QPen oldPen = p->pen(); p->setPen(QPen(g.foreground(), lwidth)); p->drawLine(p1, p2); p->setPen(oldPen); } else qDrawShadeLine(p, p1, p2, g, cstyle == Sunken, lwidth, midLineWidth()); break; }
void QFrame::drawFrame( QPainter *p ) { QPoint p1, p2; QRect r = frameRect(); int type = fstyle & MShape; int cstyle = fstyle & MShadow; #ifdef QT_NO_DRAWUTIL p->setPen( black ); // #### p->drawRect( r ); //### a bit too simple #else const QColorGroup & g = colorGroup(); switch ( type ) { case Box: if ( cstyle == Plain ) qDrawPlainRect( p, r, g.foreground(), lwidth ); else qDrawShadeRect( p, r, g, cstyle == Sunken, lwidth, midLineWidth() ); break; case StyledPanel: #ifndef QT_NO_STYLE if ( cstyle == Plain ) qDrawPlainRect( p, r, g.foreground(), lwidth ); else style().drawPanel( p, r.x(), r.y(), r.width(), r.height(), g, cstyle == Sunken, lwidth ); break; #endif // fall through to Panel if QT_NO_STYLE case PopupPanel: #ifndef QT_NO_STYLE if ( cstyle == Plain ) qDrawPlainRect( p, r, g.foreground(), lwidth ); else style().drawPopupPanel( p, r.x(), r.y(), r.width(), r.height(), g, lwidth ); break; #endif // fall through to Panel if QT_NO_STYLE case Panel: if ( cstyle == Plain ) qDrawPlainRect( p, r, g.foreground(), lwidth ); else qDrawShadePanel( p, r, g, cstyle == Sunken, lwidth ); break; case WinPanel: if ( cstyle == Plain ) qDrawPlainRect( p, r, g.foreground(), wpwidth ); else qDrawWinPanel( p, r, g, cstyle == Sunken ); break; case HLine: case VLine: if ( type == HLine ) { p1 = QPoint( r.x(), r.height()/2 ); p2 = QPoint( r.x()+r.width(), p1.y() ); } else { p1 = QPoint( r.x()+r.width()/2, 0 ); p2 = QPoint( p1.x(), r.height() ); } if ( cstyle == Plain ) { QPen oldPen = p->pen(); p->setPen( QPen(g.foreground(),lwidth) ); p->drawLine( p1, p2 ); p->setPen( oldPen ); } else qDrawShadeLine( p, p1, p2, g, cstyle == Sunken, lwidth, midLineWidth() ); break; } #endif // QT_NO_DRAWUTIL }
void Slider::drawSlider(QPainter *p, const QRect &r) { const QPalette& pal = palette(); QBrush brBack(pal.window()); QBrush brMid; QBrush brDark(pal.dark()); QRect cr; int ipos, dist1; double rpos; int lineDist; if (d_bwTrough > 0) { // qDrawShadePanel(p, r.x(), r.y(), //r.width(), r.height(), //pal, TRUE, d_bwTrough,0); cr.setRect(r.x() + d_bwTrough, r.y() + d_bwTrough, r.width() - 2 * d_bwTrough, r.height() - 2 * d_bwTrough); brMid = pal.mid(); } else { cr = r; brMid = brBack; } rpos = (value() - minValue()) / (maxValue() - minValue()); lineDist = d_borderWidth - 1; if (lineDist < 1) lineDist = 1; if (d_orient == Qt::Horizontal) { dist1 = int(double(cr.width() - d_thumbLength) * rpos); ipos = cr.x() + dist1; markerPos = ipos + d_thumbHalf; // // draw background // if (d_bgStyle & BgSlot) { drawHsBgSlot(p, cr, QRect(ipos, cr.y(), d_thumbLength, cr.height()), brMid); } else { p->fillRect(cr.x(), cr.y(), dist1, cr.height(), brMid); p->fillRect(ipos + d_thumbLength, cr.y(), cr.width() - d_thumbLength - dist1, cr.height(), brMid); } // // Draw thumb // //qDrawShadePanel(p,ipos, cr.y(), d_thumbLength, cr.height(), // pal, FALSE, d_borderWidth, &brBack); QPixmap thumbp; bool loaded = thumbp.load(":images/slider_thumb_h.png"); if (loaded) p->drawPixmap(ipos, cr.y(), thumbp); if (lineDist > 1) qDrawShadeLine(p, markerPos, cr.y() + lineDist, markerPos, cr.y() + cr.height() - lineDist, pal, TRUE, 1); else { p->setPen(pal.dark().color()); p->drawLine(markerPos - 1, cr.y() + lineDist, markerPos - 1, cr.y() + cr.height() - lineDist - 1); p->setPen(pal.light().color()); p->drawLine(markerPos, cr.y() + lineDist, markerPos, cr.y() + cr.height() - lineDist - 1); } } else {//Vertical slider dist1 = int(double(cr.height() - d_thumbLength) * (1.0 - rpos)); ipos = cr.y() + dist1; markerPos = ipos + d_thumbHalf; //NOTE: this is adding the middle line in the slider if (d_bgStyle & BgSlot) { drawVsBgSlot(p, cr, QRect(cr.left(), ipos, cr.width(), d_thumbLength), brMid); } else { //p->fillRect(cr.x(),cr.y(),cr.width(),ipos,brMid); //p->fillRect(cr.x(), ipos + d_thumbLength, cr.width(), //cr.height() - d_thumbLength - dist1, brMid); } //This adds the thumb slider //qDrawShadePanel(p,cr.x(),ipos , cr.width(), d_thumbLength, // pal,FALSE,d_borderWidth, &brBack); QPixmap thumbp; bool loaded = thumbp.load(":images/slider_thumb.png"); int knobx = cr.x() + 2; int knoby = ipos - 12; QRect knobRect(knobx, knoby, 18, 33); //printf("Slider: Knob position X: %d Y: %d\n", knobx, knoby); if (loaded) { p->setCompositionMode(QPainter::CompositionMode_SourceAtop); //QPainter::CompositionMode_SourceOver); //p->drawPixmap(knobx, knoby, thumbp); p->setClipping(false); p->drawPixmap(knobRect, thumbp); } // if (lineDist > 1) // qDrawShadeLine(p, cr.x() + lineDist , markerPos, // cr.x() + cr.width() - lineDist, markerPos, // pal, TRUE, 1); // else // { // // p->setPen(pal.dark().color()); // p->drawLine(cr.x() + lineDist, markerPos - 1 , // cr.x() + cr.width() - lineDist - 1, markerPos - 1); // p->setPen(pal.light().color()); // p->drawLine(cr.x() + lineDist, markerPos, // cr.x() + cr.width() - lineDist - 1 , markerPos); // } } }