void CannonField::paintEvent( QPaintEvent *e ) { QRect updateR = e->rect(); QPainter p; p.begin( this ); if ( updateR.intersects( cannonRect() ) ) paintCannon( &p ); p.end(); }
void CannonField::setAngle( int degrees ) { if ( degrees < 5 ) degrees = 5; if ( degrees > 70 ) degrees = 70; if ( ang == degrees ) return; ang = degrees; repaint( cannonRect(), FALSE ); emit angleChanged( ang ); }
void CannonField::setAngle(int angle) { if (angle < 5) angle = 5; if (angle > 70) angle = 70; if (currentAngle == angle) return; currentAngle = angle; update(cannonRect()); emit angleChanged(currentAngle); }
void CannonField::paintEvent( QPaintEvent *e ) { QRect updateR = e->rect(); QPainter p( this ); if ( updateR.intersects( cannonRect() ) ) paintCannon( &p ); if ( autoShootTimer->isActive() && updateR.intersects( shotRect() ) ) paintShot( &p ); if ( updateR.intersects( targetRect() ) ) paintTarget( &p ); }
void CannonField::paintEvent( QPaintEvent *e ) { QRect updateR = e->rect(); QPainter p( this ); if ( gameEnded ) { p.setPen( black ); p.setFont( QFont( "Courier", 48, QFont::Bold ) ); p.drawText( rect(), AlignCenter, "Game Over" ); } if ( updateR.intersects( cannonRect() ) ) paintCannon( &p ); if ( isShooting() && updateR.intersects( shotRect() ) ) paintShot( &p ); if ( !gameEnded && updateR.intersects( targetRect() ) ) paintTarget( &p ); }
void CannonField::paintCannon( QPainter *p ) { QRect cr = cannonRect(); QPixmap pix( cr.size() ); pix.fill( this, cr.topLeft() ); QPainter tmp( &pix ); tmp.setBrush( blue ); tmp.setPen( NoPen ); tmp.translate( 0, pix.height() - 1 ); tmp.drawPie( QRect( -35,-35, 70, 70 ), 0, 90*16 ); tmp.rotate( -ang ); tmp.drawRect( barrelRect ); tmp.end(); p->drawPixmap( cr.topLeft(), pix ); }