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

List:       kde-commits
Subject:    KDE/kdegames/kolf
From:       Stefan Majewsky <majewsky () gmx ! net>
Date:       2010-10-31 22:14:59
Message-ID: 20101031221459.CB599AC8A4 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1191669 by majewsky:

Very very straight port of Kolf to KGameRenderer.

 M  +0 -1      CMakeLists.txt  
 M  +3 -3      ball.cpp  
 M  +25 -25    game.cpp  
 M  +2 -2      game.h  
 D             kolfsvgrenderer.cpp  
 D             kolfsvgrenderer.h  
 M  +2 -2      slope.cpp  


--- trunk/KDE/kdegames/kolf/CMakeLists.txt #1191668:1191669
@@ -22,7 +22,6 @@
    editor.cpp 
    printdialogpage.cpp 
    kcomboboxdialog.cpp 
-   kolfsvgrenderer.cpp
    floater.cpp 
    slope.cpp
    itemfactory.cpp
--- trunk/KDE/kdegames/kolf/ball.cpp #1191668:1191669
@@ -18,10 +18,10 @@
 
 #include "ball.h"
 #include "game.h"
-#include "kolfsvgrenderer.h"
 #include "rtti.h"
 
 #include <QApplication>
+#include <KGameRenderer>
 
 Ball::Ball(QGraphicsScene * scene)
 	: QGraphicsEllipseItem(0, scene)
@@ -84,7 +84,7 @@
 	label->setFont(font);
 	setPos(baseX, baseY); //not multiplied by resizeFactor since setPos takes care of \
that for the ball  setRect(-0.5*baseDiameter*resizeFactor, \
-0.5*baseDiameter*resizeFactor, baseDiameter*resizeFactor, \
                baseDiameter*resizeFactor);	
-	pixmap=game->renderer->render("ball", rect().size().toSize(), 0);
+	pixmap=Kolf::renderer()->spritePixmap("ball", rect().size().toSize());
 }
 
 void Ball::setPos(qreal x, qreal y)
@@ -118,7 +118,7 @@
 		if(game == 0)
 			return;
 		else {
-			pixmap=game->renderer->render("ball", rect().size().toSize(), 0);
+			pixmap=Kolf::renderer()->spritePixmap("ball", rect().size().toSize());
 			pixmapInitialised=true;
 		}
 	}
--- trunk/KDE/kdegames/kolf/game.cpp #1191668:1191669
@@ -20,7 +20,6 @@
 #include "game.h"
 #include "itemfactory.h"
 #include "kcomboboxdialog.h"
-#include "kolfsvgrenderer.h"
 #include "rtti.h"
 
 #include <QApplication>
@@ -28,13 +27,13 @@
 #include <QCheckBox>
 #include <QLabel>
 #include <QMouseEvent>
-#include <QPixmapCache>
 #include <QPrinter>
 #include <QSlider>
 #include <QStyleOptionGraphicsItem>
 #include <QTimer>
 #include <QVBoxLayout>
 #include <KFileDialog>
+#include <KGameRenderer>
 #include <KLineEdit>
 #include <KMessageBox>
 #include <KNumInput>
@@ -51,6 +50,13 @@
 	return QString("%1|%2").arg(name).arg(id);
 }
 
+K_GLOBAL_STATIC_WITH_ARGS(KGameRenderer, g_renderer, \
(QLatin1String("pics/default_theme.desktop"))) +
+KGameRenderer* Kolf::renderer()
+{
+	return g_renderer;
+}
+
 /////////////////////////
 
 RectPoint::RectPoint(const QColor &color, RectItem *rect, QGraphicsItem * parent, \
QGraphicsScene *scene) @@ -291,7 +297,7 @@
 		if(game == 0)
 			return;
 		else {
-			pixmap=game->renderer->render(type, rect().size().toSize(), 0);
+			pixmap = Kolf::renderer()->spritePixmap(type, rect().size().toSize());
 			pixmapInitialised=true;
 		}
 	}
@@ -303,7 +309,7 @@
 	this->resizeFactor = resizeFactor;
 	setPos(baseX*resizeFactor, baseY*resizeFactor);
 	setRect(0, 0, baseWidth*resizeFactor, baseHeight*resizeFactor);
-	pixmap=game->renderer->render(type, rect().size().toSize(), 0);
+	pixmap = Kolf::renderer()->spritePixmap(type, rect().size().toSize());
 	botWall->setPos(baseBotWallX*resizeFactor, baseBotWallY*resizeFactor);
 	botWall->resize(resizeFactor);
 	topWall->setPos(baseTopWallX*resizeFactor, baseTopWallY*resizeFactor);
@@ -447,7 +453,7 @@
 	rightWall->setPoints(width, 0, width, height);
 
 	if(game != 0)
-		pixmap=game->renderer->render(type, rect().size().toSize(), 0);
+		pixmap = Kolf::renderer()->spritePixmap(type, rect().size().toSize());
 	baseWidth = width;
 	baseHeight = height;
 
@@ -912,7 +918,7 @@
 	setRect(baseWidth*resizeFactor*-0.5, baseHeight*resizeFactor*-0.5, \
baseWidth*resizeFactor, baseHeight*resizeFactor);  setPos(baseX*resizeFactor, \
baseY*resizeFactor);  moveBy(0, 0); 
-	pixmap=game->renderer->render(type, rect().size().toSize(), 0);
+	pixmap=Kolf::renderer()->spritePixmap(type, rect().size().toSize());
 }
 
 void KolfEllipse::newSize(double width, double height)
@@ -925,7 +931,7 @@
 {
 	setRect(width*-0.5, height*-0.5, width, height);
 	if(game != 0)
-		pixmap=game->renderer->render(type, rect().size().toSize(), 0);
+		pixmap=Kolf::renderer()->spritePixmap(type, rect().size().toSize());
 	baseWidth = width;
 	baseHeight = height;
 }
@@ -1228,10 +1234,7 @@
 		if(game == 0)
 			return;
 		else {
-			//ensure the bumper_on pixmap is in the cache so it will be immediately available \
                when required
-			if(!QPixmapCache::find("bumper_on", &pixmap))
-				pixmap=game->renderer->render("bumper_on", rect().size().toSize(), 0);
-			pixmap=game->renderer->render("bumper_off", rect().size().toSize(), 0);
+			pixmap=Kolf::renderer()->spritePixmap("bumper_off", rect().size().toSize());
 			pixmapInitialised=true;
 		}
 	}
@@ -1255,7 +1258,7 @@
 	setPos(baseX*resizeFactor, baseY*resizeFactor);
 	setRect(-0.5*baseDiameter*resizeFactor, -0.5*baseDiameter*resizeFactor, \
baseDiameter*resizeFactor, baseDiameter*resizeFactor);  pixmapInitialised=false; //do \
                I need this?
-	pixmap=game->renderer->render("bumper_off", rect().size().toSize(), 0);
+	pixmap=Kolf::renderer()->spritePixmap("bumper_off", rect().size().toSize());
 }
 
 void Bumper::advance(int phase)
@@ -1271,7 +1274,7 @@
 		if (count > 2)
 		{
 			count = 0;
-			pixmap=game->renderer->render("bumper_off", rect().size().toSize(), 0);
+			pixmap=Kolf::renderer()->spritePixmap("bumper_off", rect().size().toSize());
 			update(); 
 			setAnimated(false);
 		}
@@ -1280,7 +1283,7 @@
 
 bool Bumper::collision(Ball *ball, long int /*id*/)
 {
-	pixmap=game->renderer->render("bumper_on", rect().size().toSize(), 0);
+	pixmap=Kolf::renderer()->spritePixmap("bumper_on", rect().size().toSize());
 	update();
 
 	double speed = 1.8 + ball->curVector().magnitude() * .9;
@@ -1332,7 +1335,7 @@
 		if(game == 0)
 			return;
 		else {
-			pixmap=game->renderer->render("cup", rect().size().toSize(), 0);
+			pixmap=Kolf::renderer()->spritePixmap("cup", rect().size().toSize());
 			pixmapInitialised=true;
 		}
 	}
@@ -1371,7 +1374,7 @@
 	this->resizeFactor = resizeFactor;
 	setPos(baseX*resizeFactor, baseY*resizeFactor);
 	setRect(-0.5*baseDiameter*resizeFactor, -0.5*baseDiameter*resizeFactor, \
                baseDiameter*resizeFactor, baseDiameter*resizeFactor);
-	pixmap=game->renderer->render("cup", rect().size().toSize(), 0);
+	pixmap=Kolf::renderer()->spritePixmap("cup", rect().size().toSize());
 }
 
 void Cup::save(KConfigGroup *cfgGroup)
@@ -1466,7 +1469,7 @@
 		if(game == 0)
 			return;
 		else {
-			pixmap=game->renderer->render("black_hole", rect().size().toSize(), 0);
+			pixmap=Kolf::renderer()->spritePixmap("black_hole", rect().size().toSize());
 			pixmapInitialised=true;
 		}
 	}
@@ -1507,7 +1510,7 @@
 	exitItem->resizeFactor = resizeFactor;
 	setPos(baseX*resizeFactor, baseY*resizeFactor);
 	setRect(-0.5*baseWidth*resizeFactor, -0.5*baseHeight*resizeFactor, \
                baseWidth*resizeFactor, baseHeight*resizeFactor);
-	pixmap=game->renderer->render("black_hole", QSize(baseWidth*resizeFactor, \
baseHeight*resizeFactor), 0); +	pixmap=Kolf::renderer()->spritePixmap("black_hole", \
QSize(baseWidth*resizeFactor, baseHeight*resizeFactor));  \
exitItem->setPos(exitItem->baseX*resizeFactor, exitItem->baseY*resizeFactor);  \
finishMe(baseExitLineWidth*resizeFactor);  if(infoLine) {
@@ -2563,8 +2566,6 @@
 	recalcHighestHole = false;
 	banner = 0;
 	
-	renderer = new KolfSvgRenderer( KStandardDirs::locate("appdata", \
                "pics/default_theme.svgz") );
-
 #ifdef SOUND
 	m_player = Phonon::createPlayer(Phonon::GameCategory);
 #endif
@@ -2596,13 +2597,13 @@
 	course->setSceneRect(0, 0, width, height);
 
 	QPixmap pic;
-	pic = renderer->render("grass", QSize(width, height), 0);
+	pic = Kolf::renderer()->spritePixmap("grass", QSize(width, height));
 	course->setBackgroundBrush(QBrush(pic));
 
 	if( filename.contains( "intro" ) )
 	{
 		QPixmap introPic;
-		introPic = renderer->render("intro_foreground", QSize(400, 132), 0);
+		introPic = Kolf::renderer()->spritePixmap("intro_foreground", QSize(400, 132));
 		banner = new QGraphicsPixmapItem(introPic, 0, course);
 		banner->setPos(0.0,32.0);
 	}
@@ -2723,7 +2724,6 @@
 KolfGame::~KolfGame()
 {
 	delete cfg;
-        delete renderer;
 #ifdef SOUND
 	delete m_player;
 #endif
@@ -3178,14 +3178,14 @@
 	course->setSceneRect(0, 0, 400*resizeFactor, 400*resizeFactor);
 
 	//background resize
-	QPixmap pic = renderer->render("grass", QSize(width*resizeFactor, \
height*resizeFactor), 0); +	QPixmap pic = Kolf::renderer()->spritePixmap("grass", \
QSize(width*resizeFactor, height*resizeFactor));  \
course->setBackgroundBrush(QBrush(pic));  
 	//foreground resize
 	if( filename.contains( "intro" ) )
 	{
 		QPixmap introPic;
-		introPic = renderer->render("intro_foreground", QSize(400.0*resizeFactor, \
132.0*resizeFactor), 0); +		introPic = \
Kolf::renderer()->spritePixmap("intro_foreground", QSize(400.0*resizeFactor, \
132.0*resizeFactor));  //course->setForegroundBrush(QBrush(introPic));
 		delete banner;
 		banner = new QGraphicsPixmapItem(introPic, 0, course);
--- trunk/KDE/kdegames/kolf/game.h #1191668:1191669
@@ -34,7 +34,7 @@
 class QCheckBox;
 class QVBoxLayout;
 class KolfGame;
-class KolfSvgRenderer;
+class KGameRenderer;
 
 namespace Phonon
 {
@@ -43,6 +43,7 @@
 namespace Kolf
 {
 	class ItemFactory;
+	KGameRenderer* renderer();
 }
 
 enum Direction { D_Left, D_Right, Forwards, Backwards };
@@ -902,7 +903,6 @@
 
 	static void scoresFromSaved(KConfig*, PlayerList &players);
 	static void courseInfo(CourseInfo &info, const QString &filename);
-	KolfSvgRenderer *renderer;
 
 public slots:
 	void pause();
--- trunk/KDE/kdegames/kolf/slope.cpp #1191668:1191669
@@ -17,13 +17,13 @@
 */
 
 #include "slope.h"
-#include "kolfsvgrenderer.h"
 
 #include <QApplication>
 #include <QCheckBox>
 #include <QLabel>
 #include <QVBoxLayout>
 #include <KComboBox>
+#include <KGameRenderer>
 #include <KNumInput>
 
 Slope::Slope(QGraphicsItem * parent, QGraphicsScene *scene)
@@ -450,7 +450,7 @@
 			break;
 	}
 
-	pixmap=game->renderer->render(slopeName, rect().size().toSize(), 0);
+	pixmap=Kolf::renderer()->spritePixmap(slopeName, rect().size().toSize());
 
 	// we update the arrows in this function
 	clearArrows();


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

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