diff options
| author | Samu Laaksonen <laaksonen.sj@gmail.com> | 2012-10-19 21:36:44 +0300 |
|---|---|---|
| committer | Samu Laaksonen <laaksonen.sj@gmail.com> | 2012-10-19 21:36:44 +0300 |
| commit | fe15901cad4ccc90b5702cf5061849c1ab1fd40d (patch) | |
| tree | 0148609d571ae7bc93a04acf8fc45647d057aaf1 /src/HeadsUpDisplay.cpp | |
| parent | a0f7ab0f77fa81b77d03de751e4a5f4e07c49d25 (diff) | |
| download | prism-fe15901cad4ccc90b5702cf5061849c1ab1fd40d.tar.gz prism-fe15901cad4ccc90b5702cf5061849c1ab1fd40d.zip | |
HUD improvement
Added
- some placeholder graphics for HUD elements
- just to demonstrate how HUD may be implemented with drawForeground of
ActionScene
Diffstat (limited to 'src/HeadsUpDisplay.cpp')
| -rw-r--r-- | src/HeadsUpDisplay.cpp | 59 |
1 files changed, 49 insertions, 10 deletions
diff --git a/src/HeadsUpDisplay.cpp b/src/HeadsUpDisplay.cpp index 6aec6e3..2afa0a5 100644 --- a/src/HeadsUpDisplay.cpp +++ b/src/HeadsUpDisplay.cpp @@ -1,22 +1,61 @@ +#include <QPainter> + #include "BarDisplay.h" #include "CircularDisplay.h" #include "HeadsUpDisplay.h" -HeadsUpDisplay::HeadsUpDisplay(QGraphicsScene* anchorScene, QObject *parent) : - QObject(parent) +HeadsUpDisplay::HeadsUpDisplay(int w, int h, QGraphicsScene *anchorScene, QObject *parent) : + QPixmap(w, h), QObject(parent) { - m_healtBar = new BarDisplay(); - m_healtBar->setDisplayColor(QColor(0, 255, 255)); - m_redColor = new CircularDisplay(); - m_redColor->setDisplayColor(QColor(255, 0, 0)); - m_greenColor = new CircularDisplay(); - m_greenColor->setDisplayColor(QColor(0, 255, 0)); - m_blueColor = new CircularDisplay(); - m_blueColor->setDisplayColor(QColor(0, 0, 255)); + fill(QColor(Qt::transparent)); + m_healtBar = new BarDisplay(200, 40); + m_healtBar->setDisplayColor(QColor(255, 0, 127, 127)); + m_healtBar->initShape(); + + m_redColor = new CircularDisplay(70, 70); + m_redColor->setDisplayColor(QColor(127, 0, 0, 127)); + m_redColor->initShape(); + + m_greenColor = new CircularDisplay(70, 70); + m_greenColor->setDisplayColor(QColor(0, 127, 0, 127)); + m_greenColor->initShape(); + + m_blueColor = new CircularDisplay(70, 70); + m_blueColor->setDisplayColor(QColor(0, 0, 127, 127)); + m_blueColor->initShape(); + + m_anchorScene = anchorScene; + + QPainter p(this); + + p.drawPixmap(10, 20, *m_redColor); + p.drawPixmap(10, 120, *m_greenColor); + p.drawPixmap(10, 220, *m_blueColor); + p.drawPixmap(300, 430, *m_healtBar); } HeadsUpDisplay::~HeadsUpDisplay() { } + +CircularDisplay *HeadsUpDisplay::redDisplay() const +{ + return m_redColor; +} + +CircularDisplay *HeadsUpDisplay::greenDisplay() const +{ + return m_greenColor; +} + +CircularDisplay *HeadsUpDisplay::blueDisplay() const +{ + return m_blueColor; +} + +BarDisplay *HeadsUpDisplay::healthDisplay() const +{ + return m_healtBar; +} |
