summaryrefslogtreecommitdiff
path: root/src/game/GameView.cpp
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2012-10-04 14:42:09 (GMT)
committer jacob1 <jfu614@gmail.com>2012-12-15 20:13:12 (GMT)
commita623959a314e544f092c85f037d8b564adc2af45 (patch)
treeb409fc023ed80900c0061314d12b05c8c43ecc17 /src/game/GameView.cpp
parent0fd86e994afb7edb4fb923f7b46da77ad423acc2 (diff)
downloadpowder-a623959a314e544f092c85f037d8b564adc2af45.zip
powder-a623959a314e544f092c85f037d8b564adc2af45.tar.gz
save stamps on 1 pixel grid (works exactly like in tpt now), delete signs with Ctrl+X, also fixes stamps on very bottom/right edge and other edge cases
Diffstat (limited to 'src/game/GameView.cpp')
-rw-r--r--src/game/GameView.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index 9d900ba..a1c7f70 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -942,9 +942,9 @@ void GameView::OnMouseMove(int x, int y, int dx, int dy)
if(selectMode!=SelectNone)
{
if(selectMode==PlaceSave)
- selectPoint1 = c->NormaliseBlockCoord(c->PointTranslate(ui::Point(x, y)));
+ selectPoint1 = c->PointTranslate(ui::Point(x, y));
if(selectPoint1.X!=-1)
- selectPoint2 = c->NormaliseBlockCoord(c->PointTranslate(ui::Point(x, y)));
+ selectPoint2 = c->PointTranslate(ui::Point(x, y));
return;
}
currentMouse = ui::Point(x, y);
@@ -963,7 +963,7 @@ void GameView::OnMouseDown(int x, int y, unsigned button)
{
if(button==BUTTON_LEFT)
{
- selectPoint1 = c->NormaliseBlockCoord(c->PointTranslate(ui::Point(x, y)));
+ selectPoint1 = c->PointTranslate(ui::Point(x, y));
selectPoint2 = selectPoint1;
}
return;
@@ -1023,15 +1023,12 @@ void GameView::OnMouseUp(int x, int y, unsigned button)
int y2 = (selectPoint1.Y>selectPoint2.Y)?selectPoint1.Y:selectPoint2.Y;
int x1 = (selectPoint2.X<selectPoint1.X)?selectPoint2.X:selectPoint1.X;
int y1 = (selectPoint2.Y<selectPoint1.Y)?selectPoint2.Y:selectPoint1.Y;
- if(x2-x1>0 && y2-y1>0)
- {
- if(selectMode==SelectCopy)
- c->CopyRegion(ui::Point(x1, y1), ui::Point(x2, y2));
- else if(selectMode==SelectCut)
- c->CutRegion(ui::Point(x1, y1), ui::Point(x2, y2));
- else if(selectMode==SelectStamp)
- c->StampRegion(ui::Point(x1, y1), ui::Point(x2, y2));
- }
+ if(selectMode==SelectCopy)
+ c->CopyRegion(ui::Point(x1, y1), ui::Point(x2, y2));
+ else if(selectMode==SelectCut)
+ c->CutRegion(ui::Point(x1, y1), ui::Point(x2, y2));
+ else if(selectMode==SelectStamp)
+ c->StampRegion(ui::Point(x1, y1), ui::Point(x2, y2));
}
}
currentMouse = ui::Point(x, y);