[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdeedu/kstars/kstars/widgets
From:       Jason Harris <kstars () 30doradus ! org>
Date:       2006-04-13 6:59:28
Message-ID: 1144911568.483841.1906.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 529329 by harris:

Some updates and streamlining of MapCanvas widget.


 M  +22 -34    mapcanvas.cpp  
 M  +1 -1      mapcanvas.h  


--- trunk/KDE/kdeedu/kstars/kstars/widgets/mapcanvas.cpp #529328:529329
@@ -28,32 +28,28 @@
 #include "../kstarsdata.h"
 
 MapCanvas::MapCanvas( QWidget *parent ) : QFrame(parent) {
-	BGColor = "#33A";
-	setBackgroundColor( QColor( BGColor ) );
-	setBackgroundMode( Qt::NoBackground );
-	Canvas = new QPixmap();
-	bgImage = new QPixmap();
+	//FIXME: pass ld and kstars pointers as ctor arguments
 	LocationDialog *ld = (LocationDialog *)topLevelWidget();
 	KStars *ks = (KStars *)ld->parent();
+
+	setAutoFillBackground( false );
+
 	QString bgFile = ks->data()->stdDirs->findResource( "data", "kstars/geomap.png" );
-	bgImage->load( bgFile, "PNG" );
+	bgImage = new QPixmap( bgFile );
 }
 
 MapCanvas::~MapCanvas(){
 	delete bgImage;
-	delete Canvas;
 }
 
 void MapCanvas::setGeometry( int x, int y, int w, int h ) {
 	QWidget::setGeometry( x, y, w, h );
-	Canvas->resize( w, h );
 	origin.setX( w/2 );
 	origin.setY( h/2 );
 }
 
 void MapCanvas::setGeometry( const QRect &r ) {
 	QWidget::setGeometry( r );
-	Canvas->resize( r.width(), r.height() );
 	origin.setX( r.width()/2 );
 	origin.setY( r.height()/2 );
 }
@@ -69,16 +65,14 @@
 }
 
 void MapCanvas::paintEvent( QPaintEvent * ) {
-	QPainter pcanvas;
+	QPainter p;
 	LocationDialog *ld = (LocationDialog *)topLevelWidget();
   KStars *ks = (KStars *)ld->parent();
 
 	//prepare the canvas
-	pcanvas.begin( Canvas );
-//	pcanvas.fillRect( 0, 0, width(), height(), QBrush( QColor( BGColor ) ) );
-	pcanvas.drawPixmap( 0, 0, *bgImage );
-//	pcanvas.setBrush( white );
-	pcanvas.setPen( QPen( QColor( "SlateGrey" ) ) );
+	p.begin( this );
+	p.drawPixmap( 0, 0, bgImage->scaled( size() ) );
+	p.setPen( QPen( QColor( "SlateGrey" ) ) );
 
 	//Draw cities
 	QPoint o;
@@ -88,20 +82,20 @@
 		o.setY( height() - int( g->lat()->Degrees() + origin.y() ) );
 
 		if ( o.x() >= 0 && o.x() <= width() && o.y() >=0 && o.y() <=height() ) {
-			pcanvas.drawPoint( o.x(), o.y() );
+			p.drawPoint( o.x(), o.y() );
 		}
 	}
 
   //redraw the cities that appear in the filtered list, with a white pen
 	//If the list has not been filtered, skip the redraw.
 	if ( ld->filteredList().size() ) {
-		pcanvas.setPen( Qt::white );
+		p.setPen( Qt::white );
 		foreach ( GeoLocation *g, ld->filteredList() ) {
 			o.setX( int( g->lng()->Degrees() + origin.x() ) );
 			o.setY( height() - int( g->lat()->Degrees() + origin.y() ) );
 
 			if ( o.x() >= 0 && o.x() <= width() && o.y() >=0 && o.y() <=height() ) {
-				pcanvas.drawPoint( o.x(), o.y() );
+				p.drawPoint( o.x(), o.y() );
 			}
 		}
 	}
@@ -111,23 +105,17 @@
 		o.setX( int( g->lng()->Degrees() + origin.x() ) );
 		o.setY( height() - int( g->lat()->Degrees() + origin.y() ) );
 
-		pcanvas.setPen( Qt::red );
-		pcanvas.setBrush( Qt::red );
-		pcanvas.drawEllipse( o.x()-3, o.y()-3, 6, 6 );
-		//FIXME:
-//		pcanvas.moveTo( o.x()-16, o.y() );
-//		pcanvas.lineTo( o.x()-8, o.y() );
-//		pcanvas.moveTo( o.x()+8, o.y() );
-//		pcanvas.lineTo( o.x()+16, o.y() );
-//		pcanvas.moveTo( o.x(), o.y()-16 );
-//		pcanvas.lineTo( o.x(), o.y()-8 );
-//		pcanvas.moveTo( o.x(), o.y()+8 );
-//		pcanvas.lineTo( o.x(), o.y()+16 );
-		pcanvas.setPen( Qt::white );
-		pcanvas.setBrush( Qt::white );
+		p.setPen( Qt::red );
+		p.setBrush( Qt::red );
+		p.drawEllipse( o.x()-3, o.y()-3, 6, 6 );
+		p.drawLine( o.x()-16, o.y(), o.x()-8, o.y() );
+		p.drawLine( o.x()+8, o.y(), o.x()+16, o.y() );
+		p.drawLine( o.x(), o.y()-16, o.x(), o.y()-8 );
+		p.drawLine( o.x(), o.y()+8, o.x(), o.y()+16 );
+		p.setPen( Qt::white );
+		p.setBrush( Qt::white );
   }
 
-	pcanvas.end();
-	bitBlt( this, 0, 0, Canvas );
+	p.end();
 }
 #include "mapcanvas.moc"
--- trunk/KDE/kdeedu/kstars/kstars/widgets/mapcanvas.h #529328:529329
@@ -85,7 +85,7 @@
 	virtual void mousePressEvent( QMouseEvent *e );
 
 private:
-	QPixmap *Canvas, *bgImage;
+	QPixmap *bgImage;
 	QString BGColor;
 	QPoint origin;
 };
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic