@ -852,128 +852,127 @@ void MediaTimer::drawSegment(const QPoint &pos, char segmentNo, QPainter &p,
# define LIGHT
# define DARK
if ( fill ) {
QPolygon a ( 0 ) ;
switch ( segmentNo ) {
case 0 :
ppt = pt ;
LIGHT ;
LINETO ( segLen - 1 , 0 ) ;
DARK ;
LINETO ( segLen - width - 1 , width ) ;
LINETO ( width , width ) ;
LINETO ( 0 , 0 ) ;
break ;
case 1 :
pt + = QPoint ( 0 , 1 ) ;
ppt = pt ;
LIGHT ;
LINETO ( width , width ) ;
DARK ;
LINETO ( width , segLen - width / 2 - 2 ) ;
LINETO ( 0 , segLen - 2 ) ;
LIGHT ;
LINETO ( 0 , 0 ) ;
break ;
case 2 :
pt + = QPoint ( segLen - 1 , 1 ) ;
ppt = pt ;
DARK ;
LINETO ( 0 , segLen - 2 ) ;
LINETO ( - width , segLen - width / 2 - 2 ) ;
LIGHT ;
LINETO ( - width , width ) ;
LINETO ( 0 , 0 ) ;
break ;
case 3 :
pt + = QPoint ( 0 , segLen ) ;
ppt = pt ;
LIGHT ;
LINETO ( width , - width / 2 ) ;
LINETO ( segLen - width - 1 , - width / 2 ) ;
LINETO ( segLen - 1 , 0 ) ;
DARK ;
if ( width & 1 ) { // adjust for integer division error
LINETO ( segLen - width - 3 , width / 2 + 1 ) ;
LINETO ( width + 2 , width / 2 + 1 ) ;
} else {
LINETO ( segLen - width - 1 , width / 2 ) ;
LINETO ( width , width / 2 ) ;
}
LINETO ( 0 , 0 ) ;
break ;
case 4 :
pt + = QPoint ( 0 , segLen + 1 ) ;
ppt = pt ;
LIGHT ;
QPolygon a ( 0 ) ;
switch ( segmentNo ) {
case 0 :
ppt = pt ;
LIGHT ;
LINETO ( segLen - 1 , 0 ) ;
DARK ;
LINETO ( segLen - width - 1 , width ) ;
LINETO ( width , width ) ;
LINETO ( 0 , 0 ) ;
break ;
case 1 :
pt + = QPoint ( 0 , 1 ) ;
ppt = pt ;
LIGHT ;
LINETO ( width , width ) ;
DARK ;
LINETO ( width , segLen - width / 2 - 2 ) ;
LINETO ( 0 , segLen - 2 ) ;
LIGHT ;
LINETO ( 0 , 0 ) ;
break ;
case 2 :
pt + = QPoint ( segLen - 1 , 1 ) ;
ppt = pt ;
DARK ;
LINETO ( 0 , segLen - 2 ) ;
LINETO ( - width , segLen - width / 2 - 2 ) ;
LIGHT ;
LINETO ( - width , width ) ;
LINETO ( 0 , 0 ) ;
break ;
case 3 :
pt + = QPoint ( 0 , segLen ) ;
ppt = pt ;
LIGHT ;
LINETO ( width , - width / 2 ) ;
LINETO ( segLen - width - 1 , - width / 2 ) ;
LINETO ( segLen - 1 , 0 ) ;
DARK ;
if ( width & 1 ) { // adjust for integer division error
LINETO ( segLen - width - 3 , width / 2 + 1 ) ;
LINETO ( width + 2 , width / 2 + 1 ) ;
} else {
LINETO ( segLen - width - 1 , width / 2 ) ;
LINETO ( width , width / 2 ) ;
DARK ;
LINETO ( width , segLen - width - 2 ) ;
LINETO ( 0 , segLen - 2 ) ;
LIGHT ;
LINETO ( 0 , 0 ) ;
break ;
case 5 :
pt + = QPoint ( segLen - 1 , segLen + 1 ) ;
ppt = pt ;
DARK ;
LINETO ( 0 , segLen - 2 ) ;
LINETO ( - width , segLen - width - 2 ) ;
LIGHT ;
LINETO ( - width , width / 2 ) ;
LINETO ( 0 , 0 ) ;
break ;
case 6 :
pt + = QPoint ( 0 , segLen * 2 ) ;
ppt = pt ;
LIGHT ;
LINETO ( width , - width ) ;
LINETO ( segLen - width - 1 , - width ) ;
LINETO ( segLen - 1 , 0 ) ;
DARK ;
LINETO ( 0 , 0 ) ;
break ;
case 7 :
pt + = QPoint ( segLen / 2 , segLen * 2 ) ;
ppt = pt ;
DARK ;
LINETO ( width , 0 ) ;
LINETO ( width , - width ) ;
LIGHT ;
LINETO ( 0 , - width ) ;
LINETO ( 0 , 0 ) ;
break ;
case 8 :
pt + = QPoint ( segLen / 2 - width / 2 + 1 , segLen / 2 + width ) ;
ppt = pt ;
DARK ;
LINETO ( width , 0 ) ;
LINETO ( width , - width ) ;
LIGHT ;
LINETO ( 0 , - width ) ;
LINETO ( 0 , 0 ) ;
break ;
case 9 :
pt + = QPoint ( segLen / 2 - width / 2 + 1 , 3 * segLen / 2 + width ) ;
ppt = pt ;
DARK ;
LINETO ( width , 0 ) ;
LINETO ( width , - width ) ;
LIGHT ;
LINETO ( 0 , - width ) ;
LINETO ( 0 , 0 ) ;
break ;
default :
break ;
}
// End exact copy
p . setPen ( Qt : : white ) ;
p . setBrush ( Qt : : white ) ;
p . drawPolygon ( a ) ;
p . setBrush ( Qt : : NoBrush ) ;
pt = pos ;
LINETO ( 0 , 0 ) ;
break ;
case 4 :
pt + = QPoint ( 0 , segLen + 1 ) ;
ppt = pt ;
LIGHT ;
LINETO ( width , width / 2 ) ;
DARK ;
LINETO ( width , segLen - width - 2 ) ;
LINETO ( 0 , segLen - 2 ) ;
LIGHT ;
LINETO ( 0 , 0 ) ;
break ;
case 5 :
pt + = QPoint ( segLen - 1 , segLen + 1 ) ;
ppt = pt ;
DARK ;
LINETO ( 0 , segLen - 2 ) ;
LINETO ( - width , segLen - width - 2 ) ;
LIGHT ;
LINETO ( - width , width / 2 ) ;
LINETO ( 0 , 0 ) ;
break ;
case 6 :
pt + = QPoint ( 0 , segLen * 2 ) ;
ppt = pt ;
LIGHT ;
LINETO ( width , - width ) ;
LINETO ( segLen - width - 1 , - width ) ;
LINETO ( segLen - 1 , 0 ) ;
DARK ;
LINETO ( 0 , 0 ) ;
break ;
case 7 :
pt + = QPoint ( segLen / 2 , segLen * 2 ) ;
ppt = pt ;
DARK ;
LINETO ( width , 0 ) ;
LINETO ( width , - width ) ;
LIGHT ;
LINETO ( 0 , - width ) ;
LINETO ( 0 , 0 ) ;
break ;
case 8 :
pt + = QPoint ( segLen / 2 - width / 2 + 1 , segLen / 2 + width ) ;
ppt = pt ;
DARK ;
LINETO ( width , 0 ) ;
LINETO ( width , - width ) ;
LIGHT ;
LINETO ( 0 , - width ) ;
LINETO ( 0 , 0 ) ;
break ;
case 9 :
pt + = QPoint ( segLen / 2 - width / 2 + 1 , 3 * segLen / 2 + width ) ;
ppt = pt ;
DARK ;
LINETO ( width , 0 ) ;
LINETO ( width , - width ) ;
LIGHT ;
LINETO ( 0 , - width ) ;
LINETO ( 0 , 0 ) ;
break ;
default :
break ;
}
// End exact copy
p . setPen ( Qt : : white ) ;
p . setBrush ( Qt : : white ) ;
p . drawPolygon ( a ) ;
p . setBrush ( Qt : : NoBrush ) ;
pt = pos ;
# undef LINETO
# undef LIGHT
# undef DARK