summaryrefslogtreecommitdiff
path: root/src/game/GameView.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/GameView.cpp')
-rw-r--r--src/game/GameView.cpp39
1 files changed, 19 insertions, 20 deletions
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp
index d302dce..8b381e2 100644
--- a/src/game/GameView.cpp
+++ b/src/game/GameView.cpp
@@ -1038,21 +1038,20 @@ void GameView::OnMouseUp(int x, int y, unsigned button)
{
if(selectMode==PlaceSave)
{
- Thumbnail * tempThumb = placeSaveThumb;
- if(tempThumb)
+ if(placeSaveThumb)
{
- int thumbX = selectPoint2.X - (tempThumb->Size.X/2);
- int thumbY = selectPoint2.Y - (tempThumb->Size.Y/2);
+ int thumbX = selectPoint2.X - (placeSaveThumb->Size.X/2);
+ int thumbY = selectPoint2.Y - (placeSaveThumb->Size.Y/2);
if(thumbX<0)
thumbX = 0;
- if(thumbX+(tempThumb->Size.X)>=XRES)
- thumbX = XRES-tempThumb->Size.X;
+ if(thumbX+(placeSaveThumb->Size.X)>=XRES)
+ thumbX = XRES-placeSaveThumb->Size.X;
if(thumbY<0)
thumbY = 0;
- if(thumbY+(tempThumb->Size.Y)>=YRES)
- thumbY = YRES-tempThumb->Size.Y;
+ if(thumbY+(placeSaveThumb->Size.Y)>=YRES)
+ thumbY = YRES-placeSaveThumb->Size.Y;
c->PlaceSave(ui::Point(thumbX, thumbY));
}
@@ -1388,13 +1387,13 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
if(ctrl)
{
c->LoadClipboard();
- selectPoint2 = ui::Point(-1, -1);
+ selectPoint2 = mousePosition;
selectPoint1 = selectPoint2;
}
break;
case 'l':
c->LoadStamp();
- selectPoint2 = ui::Point(-1, -1);
+ selectPoint2 = mousePosition;
selectPoint1 = selectPoint2;
isMouseDown = false;
drawMode = DrawPoints;
@@ -1696,6 +1695,7 @@ void GameView::NotifyPlaceSaveChanged(GameModel * sender)
{
placeSaveThumb = SaveRenderer::Ref().Render(sender->GetPlaceSave());
selectMode = PlaceSave;
+ selectPoint2 = mousePosition;
}
else
{
@@ -1850,27 +1850,26 @@ void GameView::OnDraw()
{
if(selectMode==PlaceSave)
{
- Thumbnail * tempThumb = placeSaveThumb;
- if(tempThumb && selectPoint2.X!=-1)
+ if(placeSaveThumb && selectPoint2.X!=-1)
{
- int thumbX = selectPoint2.X - (tempThumb->Size.X/2);
- int thumbY = selectPoint2.Y - (tempThumb->Size.Y/2);
+ int thumbX = selectPoint2.X - (placeSaveThumb->Size.X/2);
+ int thumbY = selectPoint2.Y - (placeSaveThumb->Size.Y/2);
ui::Point thumbPos = c->NormaliseBlockCoord(ui::Point(thumbX, thumbY));
if(thumbPos.X<0)
thumbPos.X = 0;
- if(thumbPos.X+(tempThumb->Size.X)>=XRES)
- thumbPos.X = XRES-tempThumb->Size.X;
+ if(thumbPos.X+(placeSaveThumb->Size.X)>=XRES)
+ thumbPos.X = XRES-placeSaveThumb->Size.X;
if(thumbPos.Y<0)
thumbPos.Y = 0;
- if(thumbPos.Y+(tempThumb->Size.Y)>=YRES)
- thumbPos.Y = YRES-tempThumb->Size.Y;
+ if(thumbPos.Y+(placeSaveThumb->Size.Y)>=YRES)
+ thumbPos.Y = YRES-placeSaveThumb->Size.Y;
- ren->draw_image(tempThumb->Data, thumbPos.X, thumbPos.Y, tempThumb->Size.X, tempThumb->Size.Y, 128);
+ ren->draw_image(placeSaveThumb->Data, thumbPos.X, thumbPos.Y, placeSaveThumb->Size.X, placeSaveThumb->Size.Y, 128);
- ren->xor_rect(thumbPos.X, thumbPos.Y, tempThumb->Size.X, tempThumb->Size.Y);
+ ren->xor_rect(thumbPos.X, thumbPos.Y, placeSaveThumb->Size.X, placeSaveThumb->Size.Y);
}
}
else