From dbeba838ea813b620ec571265c8ea417403fc81c Mon Sep 17 00:00:00 2001 From: manuel Date: Tue, 12 Apr 2011 14:45:24 +0200 Subject: make the server a non gui application this required a lot of reorganization: - don't create ANY pixmaps. that requires QtGui - don't create and QtWidgets - thus SceneHolder is now a QGraphisScene itself - and MainWidgets is a QWidget having SceneHolder as member variable --- pacman-c++/sceneholder.cpp | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'pacman-c++/sceneholder.cpp') diff --git a/pacman-c++/sceneholder.cpp b/pacman-c++/sceneholder.cpp index b3ff588..b788a49 100644 --- a/pacman-c++/sceneholder.cpp +++ b/pacman-c++/sceneholder.cpp @@ -1,5 +1,4 @@ #include "sceneholder.h" - #include "constants.h" #include "pixmapitem.h" #include "block.h" @@ -8,11 +7,11 @@ #include "point.h" #include "util.h" -SceneHolder::SceneHolder(QWidget* parent) - : QWidget(parent), m_color(Color::none), m_pointsLeft(0) +SceneHolder::SceneHolder(QObject *parent) + : QGraphicsScene(parent), m_color(Color::none), m_pointsLeft(0) { - m_scene = new QGraphicsScene(0, 0, Constants::map_size_pixel.width, Constants::map_size_pixel.height, this); - m_scene->setBackgroundBrush(Qt::black); + setSceneRect(0, 0, Constants::map_size_pixel.width, Constants::map_size_pixel.height); + setBackgroundBrush(Qt::black); visualMap.resize(Constants::map_size.width); for (int i = 0; i < visualMap.size(); ++i) @@ -39,7 +38,7 @@ void SceneHolder::updateMap(const Transmission::map_t& map) /* remove elements (in case it's not an actor) */ if (oldItem != NULL && dynamic_cast(item) == NULL) { - m_scene->removeItem(oldItem); + removeItem(oldItem); visualMap[x][y] = NULL; Actor *actor = NULL; foreach (Actor *i, m_actors) @@ -81,7 +80,6 @@ void SceneHolder::updateMap(const Transmission::map_t& map) item = new BonusPoint(); else if (cur & Transmission::point) { - qDebug() << "new point"; item = new Point(); connect(item, SIGNAL(destroyed()), this, SLOT(decrementPoints())); ++m_pointsLeft; @@ -93,7 +91,7 @@ void SceneHolder::updateMap(const Transmission::map_t& map) { actor = new Actor(color, (color == m_color)); m_actors[color] = actor; - m_scene->addItem(actor); + addItem(actor); actor->setPos(mapPositionToCoord(x, y)); } else @@ -116,13 +114,13 @@ void SceneHolder::updateMap(const Transmission::map_t& map) if (item != NULL) { - m_scene->addItem(item); + addItem(item); item->setPos(mapPositionToCoord(x, y)); PixmapItem* oldItem = visualMap[x][y]; visualMap[x][y] = item; if (oldItem != NULL) { - m_scene->removeItem(item); + removeItem(item); delete oldItem; } } @@ -131,6 +129,16 @@ void SceneHolder::updateMap(const Transmission::map_t& map) } +void SceneHolder::setColor(Color::Color color) +{ + m_color = color; +} + +Color::Color SceneHolder::color() +{ + return m_color; +} + unsigned int SceneHolder::pointsLeft() { return m_pointsLeft; -- cgit v1.2.3