From ad19e537066742e1a5f9bbb8c3549a47480a33c1 Mon Sep 17 00:00:00 2001 From: Samu Laaksonen Date: Mon, 10 Dec 2012 23:47:03 +0200 Subject: Box2d integration Very crude and buggy Needs to be much better --- src/CircularDisplay.cpp | 172 +++++++++++++++++++++++++----------------------- 1 file changed, 91 insertions(+), 81 deletions(-) (limited to 'src/CircularDisplay.cpp') diff --git a/src/CircularDisplay.cpp b/src/CircularDisplay.cpp index 7a1dc0f..509c33b 100644 --- a/src/CircularDisplay.cpp +++ b/src/CircularDisplay.cpp @@ -1,81 +1,91 @@ -#include -#include "CircularDisplay.h" - -CircularDisplay::CircularDisplay(int w, int h) : - QPixmap(w, h) -{ - m_partCount = 5; - m_maxValue = 50; - m_consumeSpeed = 5; - m_value = 10; - m_activated = false; - - fill(QColor(Qt::transparent)); -} - -CircularDisplay::~CircularDisplay() -{ -} - -void CircularDisplay::initShape() -{ - QPainter p(this); - QPen pen(QColor(0, 0, 0, 255)); - QBrush brush(m_displayColor); - - pen.setWidth(4); - p.setPen(pen); - - // draw base ellipse - p.drawEllipse(QPointF(25, 35), 20, 20); - - p.setBrush(brush); - - // first 1/4th - //p.drawPie(5, 15, 40, 20, 0, 180 * 16); - - // last 1/4th - //p.drawPie(25, 35, 40, 20, 0, -180 * 16); - - // upper half - //p.drawPie(5, 15, 40, 40, 0, 180 * 16); - - // lower half - pen.setWidth(2); - p.setPen(pen); - p.drawPie(5, 15, 40, 40, 0, -180 * 16); - - // draw "tick" lines - //p.drawLine(25, 15, 25, 0); // 12 o'clock - //p.drawLine(45, 35, 60, 35); // 3 o'clock - //p.drawLine(25, 55, 25, 70); // 6 o'clock -} - -void CircularDisplay::setDisplayColor(QColor col) -{ - m_displayColor = col; -} - -void CircularDisplay::collected(int amount) -{ - m_value += amount; - if (m_value > m_maxValue) - m_value = m_maxValue; - - updateDisplay(); -} - -void CircularDisplay::activate() -{ - m_activated = true; -} - -void CircularDisplay::unactivate() -{ - m_activated = false; -} - -void CircularDisplay::updateDisplay() -{ - // TODO: update graphics so user knows collecting stuff does help -} +#include +#include + +#include "CircularDisplay.h" + +CircularDisplay::CircularDisplay(const QString& name, int w, int h) : + QPixmap(w, h) +{ + m_partCount = 5; + m_maxValue = 50; + m_consumeSpeed = 5; + m_value = 10; + m_activated = false; + m_name = name; + + fill(QColor(Qt::transparent)); +} + +CircularDisplay::~CircularDisplay() +{ +} + +void CircularDisplay::initShape() +{ + QPainter p(this); + QPen pen(QColor(0, 0, 0, 255)); + QBrush brush(m_displayColor); + + pen.setWidth(4); + p.setPen(pen); + + // draw base ellipse + p.drawEllipse(QPointF(25, 35), 20, 20); + + p.setBrush(brush); + + // first 1/4th + //p.drawPie(5, 15, 40, 20, 0, 180 * 16); + + // last 1/4th + //p.drawPie(25, 35, 40, 20, 0, -180 * 16); + + // upper half + //p.drawPie(5, 15, 40, 40, 0, 180 * 16); + + // lower half + pen.setWidth(2); + p.setPen(pen); + p.drawPie(5, 15, 40, 40, 0, -180 * 16); + + // draw "tick" lines + //p.drawLine(25, 15, 25, 0); // 12 o'clock + //p.drawLine(45, 35, 60, 35); // 3 o'clock + //p.drawLine(25, 55, 25, 70); // 6 o'clock +} + +void CircularDisplay::setDisplayColor(QColor col) +{ + m_displayColor = col; +} + +void CircularDisplay::collected(int amount) +{ + m_value += amount; + if (m_value > m_maxValue) + m_value = m_maxValue; + + updateDisplay(); +} + +void CircularDisplay::activate() +{ + qDebug() << "activated " << m_name; + m_activated = true; +} + +void CircularDisplay::deactivate() +{ + qDebug() << "deactivated " << m_name; + m_activated = false; +} + +bool CircularDisplay::active() const +{ + return m_activated; +} + +void CircularDisplay::updateDisplay() +{ + // TODO: update graphics so user knows collecting stuff does help +} -- cgit v1.2.3