diff options
| author | jacob1 <jfu614@gmail.com> | 2013-03-11 02:08:00 (GMT) |
|---|---|---|
| committer | jacob1 <jfu614@gmail.com> | 2013-03-11 02:08:00 (GMT) |
| commit | 85d6c127212140c9df2204eacabc338b924fe4ab (patch) | |
| tree | f1f6a6be5b9faed71554dd7c6493b946b55c4afb /src/game/GameView.cpp | |
| parent | 5aa233d4e7ec0f87b59572d44b4e90cda2bb6272 (diff) | |
| download | powder-85d6c127212140c9df2204eacabc338b924fe4ab.zip powder-85d6c127212140c9df2204eacabc338b924fe4ab.tar.gz | |
fix stamp thumbnails not showing until you move the mouse, add a few new[]'s replacing some .c_str() pointers in client.cpp
Diffstat (limited to 'src/game/GameView.cpp')
| -rw-r--r-- | src/game/GameView.cpp | 39 |
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 |
