summaryrefslogtreecommitdiff
path: root/src/game/GameView.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-01-24 20:19:19 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-01-24 20:19:19 (GMT)
commit97b35bc47059315d4138c8e0827842d2c03de152 (patch)
treefeaf7a8c018982ba9d7ca1b8e6e15294abfdfc84 /src/game/GameView.cpp
parent04488081d3fa0cd3dfb2939e5d902bc894df150d (diff)
downloadpowder-97b35bc47059315d4138c8e0827842d2c03de152.zip
powder-97b35bc47059315d4138c8e0827842d2c03de152.tar.gz
Various
Diffstat (limited to 'src/game/GameView.cpp')
-rw-r--r--src/game/GameView.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index f7e0682..8438e1b 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -9,7 +9,8 @@ GameView::GameView():
pointQueue(queue<ui::Point*>()),
isMouseDown(false),
ren(NULL),
- activeBrush(NULL)
+ activeBrush(NULL),
+ currentMouse(0, 0)
{
int currentX = 1;
//Set up UI
@@ -344,6 +345,7 @@ void GameView::NotifyBrushChanged(GameModel * sender)
void GameView::OnMouseMove(int x, int y, int dx, int dy)
{
+ currentMouse = ui::Point(x, y);
if(isMouseDown)
{
pointQueue.push(new ui::Point(x-dx, y-dy));
@@ -353,8 +355,11 @@ void GameView::OnMouseMove(int x, int y, int dx, int dy)
void GameView::OnMouseDown(int x, int y, unsigned button)
{
- isMouseDown = true;
- pointQueue.push(new ui::Point(x, y));
+ if(currentMouse.X > 0 && currentMouse.X < XRES && currentMouse.Y > 0 && currentMouse.Y < YRES)
+ {
+ isMouseDown = true;
+ pointQueue.push(new ui::Point(x, y));
+ }
}
void GameView::OnMouseUp(int x, int y, unsigned button)
@@ -389,6 +394,10 @@ void GameView::OnKeyPress(int key, bool shift, bool ctrl, bool alt)
void GameView::OnTick(float dt)
{
+ if(isMouseDown)
+ {
+ pointQueue.push(new ui::Point(currentMouse));
+ }
if(!pointQueue.empty())
{
c->DrawPoints(pointQueue);
@@ -404,8 +413,8 @@ void GameView::OnDraw()
ren->render_fire();
ren->render_signs();
}
- if(activeBrush)
+ if(activeBrush && currentMouse.X > 0 && currentMouse.X < XRES && currentMouse.Y > 0 && currentMouse.Y < YRES)
{
- activeBrush->Render(ui::Engine::Ref().g, ui::Point(ui::Engine::Ref().GetMouseX(),ui::Engine::Ref().GetMouseY()));
+ activeBrush->Render(ui::Engine::Ref().g, currentMouse);
}
}