no more trouble with middle mouse button camera view

This commit is contained in:
Titus Tscharntke
2013-02-09 23:20:40 +00:00
parent cb30df57a6
commit a3635376cf
3 changed files with 11 additions and 1 deletions

View File

@@ -3385,7 +3385,12 @@ void Game::mouseMove(int x, int y, const MouseState *ms) {
float ymult = 0.2f; float ymult = 0.2f;
float xmult = 0.2f; float xmult = 0.2f;
gameCamera.transitionVH(-(y - lastMousePos.y) * ymult, (lastMousePos.x - x) * xmult); Vec2i oldPos=Shared::Platform::Window::getOldMousePos();
int oldx= (oldPos.x * metrics.getVirtualW() / metrics.getScreenW());
int oldy= ((metrics.getScreenH()-oldPos.y) * metrics.getVirtualH() / metrics.getScreenH());
lastMousePos.x=oldx;
lastMousePos.y=oldy;
gameCamera.transitionVH(-(y - oldy) * ymult, (oldx - x) * xmult);
} }
mouseX=lastMousePos.x; mouseX=lastMousePos.x;
mouseY=lastMousePos.y; mouseY=lastMousePos.y;

View File

@@ -132,6 +132,7 @@ protected:
public: public:
static bool handleEvent(); static bool handleEvent();
static void revertMousePos(); static void revertMousePos();
static Vec2i getOldMousePos();
static bool isKeyDown() { return isKeyPressedDown; } static bool isKeyDown() { return isKeyPressedDown; }
static void setupGraphicsScreen(int depthBits=-1, int stencilBits=-1, bool hardware_acceleration=false, bool fullscreen_anti_aliasing=false); static void setupGraphicsScreen(int depthBits=-1, int stencilBits=-1, bool hardware_acceleration=false, bool fullscreen_anti_aliasing=false);
static const bool getIsFullScreen() { return isFullScreen; } static const bool getIsFullScreen() { return isFullScreen; }

View File

@@ -359,6 +359,10 @@ void Window::revertMousePos() {
SDL_WarpMouse(oldX, oldY); SDL_WarpMouse(oldX, oldY);
} }
Vec2i Window::getOldMousePos() {
return Vec2i(oldX, oldY);
}
string Window::getText() { string Window::getText() {
char* c = 0; char* c = 0;
SDL_WM_GetCaption(&c, 0); SDL_WM_GetCaption(&c, 0);